Christoph G.: Das Programm neustarten.

Beitrag lesen

Hi,

Hi auch

Ich würde eine neue Instanz der Klasse bilden und deren main-Methode aufrufen.

Bist du sicher, dass das zum gewünschten Ergebnis führen würde - die main-Methode ist statisch, eine neue Instanz der Klasse würde rein gar nichts bewirken.
Nach meinem Verständnis ist es viel mehr erforderlich, die aktuelle Ausführung abzubrechen, alle statischen Variablen zurückzusetzen und dann die main-Methode aufzurufen.
Ob das auch automatisiert möglich ist, kann ich auf die schnelle auch nicht sagen - das einzige, was ich in der kurzen Zeit gefunden habe war folgendes:

An implementation of the Java programming language may unload classes. A class or interface may be unloaded if and only if its defining class loader may be reclaimed by the garbage collector as discussed in §12.6. Classes and interfaces loaded by the bootstrap loader may not be unloaded.

Andere Möglichkeiten, eine Klasse auf ihre Initialisierungswerte zurückzusetzten fallen mir jetzt nicht eine - außer natürlich der Aufruf einer 2. VM in einem eigenen Prozess...

cu,
Andreas

cu2, Christoph