Java:可以持久保存jvm状态并在重启应用程序时恢复吗?

时间:2012-03-14 22:47:58

标签: java jvm

是否可以在退出之前保存应用程序的当前状态,下次应用程序启动时,它会在您离开的位置继续运行?就像字面上的前一个会话的快照(有点像VirtualBox保存状态功能)。

2 个答案:

答案 0 :(得分:1)

可以持久保存应用程序的执行状态,但它需要以特定方式编写应用程序才能实现此目的。

  • 一种方法是使用Java的continuation实现。 (Google“continuations java”获取更多信息,并指向支持此功能的Java库。)

  • 另一种方法是使用对象序列化。但是,这只会对堆数据结构进行快照。线程堆栈(等)上的执行状态不能以这种方式保留。

在任何Java版本中都没有通用的全JVM或应用程序检查点。

答案 1 :(得分:0)

查看是否可以将所有变量和数据放入实现Serializable的类中 - 在JVM出口上,将数据存储到文件中。程序启动后,从文件中加载数据并继续。这就是我所做的,我不知道这是否足以满足你的申请。