2011-10-25 13 views
6

È possibile salvare lo stato corrente di un programma java e ricaricarlo? Il programma è abbastanza complicato. Devo solo essere in grado di salvare lo stato corrente su un file e ricaricarlo. Potresti per favore indirizzarmi a una libreria java o a un posto dove leggere di più a riguardo.Metodo Java per salvare lo stato corrente di un programma

+2

Non sono sicuro se si sarebbe in grado di ricaricare completamente tutto 1-1, ma la maggior parte dei programmi che fanno risparmiare Stato, fare un dumping del variabile in un file. Se è necessario riprendere lo stesso stato, lo ricarica semplicemente dal file. Ecco come funziona lo "stato di salvataggio" dei giochi. –

+0

Vedere [questo thread] (http://stackoverflow.com/questions/7777640/what-is-the-best-practice-for-setting-jframe-locations-in-java/7778332#7778332) per un esempio semplicistico (solo alcune proprietà) di salvataggio/ripristino dello stato. Per uno stato più complesso, varrebbe la pena creare un bean che può essere scritto/letto usando ['XMLEncoder'] (http://download.oracle.com/javase/7/docs/api/java/beans/XMLEncoder. html)/[ 'XMLDecoder'] (http://download.oracle.com/javase/7/docs/api/java/beans/XMLDecoder.html). –

risposta

9

Non esiste un modo reale per "memorizzare lo stato dell'intera JVM" come tale.

Ma è possibile incapsulare lo stato pertinente dell'applicazione in uno o più oggetti e quindi serializzare tali oggetti. Sembra molto più complicato di quanto non sia in realtà, perché molto probabilmente lo stato della tua applicazione è già (principalmente) incapsulato in alcuni oggetti.

This serialization tutorial fornisce ulteriori informazioni, per ulteriori dettagli see this page.

+0

Grazie per la risposta. È davvero utile – Zee

2

Lo "stato" di un programma java è una bestia complessa. Ciò include l'heap completo, il punto di esecuzione di tutti i thread, i valori delle variabili locali ...

Molto probabilmente si desidera archiviare lo stato allo stato e caricarlo successivamente in un nuovo programma. È possibile utilizzare le classi in java.io per scrivere lo stato sui file e successivamente leggerli di nuovo.

http://download.oracle.com/javase/7/docs/api/java/io/package-summary.html

Problemi correlati