Есть ли способ отменить эффекты вызова метода в Java? Я пытаюсь решить следующую проблему. У меня есть набор Java-объектов, давайте назовем их object1, object2 и т. Д. В моей программе я вызываю методы этих объектов в следующем порядке:
...
object1.method1 (); // Я предполагаю, что JVM знает внутреннее состояние до и после этого вызова
object2.method1 ();
object1.method2 ();
...
Я хочу достичь начального состояния программы, не зная, что на самом деле вызывал метод. Позволяет ли JVM вернуться в состояние до вызова object1.method1 ()?
Я понимаю, что это означает, что мне нужно сделать следующее:
...
object1.UNDOmethod2 ();
object2.UNDOmethod1 ();
object1.UNDOmethod1 ();
...
Но я ищу решение без необходимости самостоятельно писать методы отмены? Я предполагаю, что у JVM будет информация, чтобы сделать это .. это возможно?
Спасибо миллион.