gpt4 book ai didi

java - 如何保存java程序的状态并在以后调用它?

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:51 25 4
gpt4 key购买 nike

我正在尝试在集群上运行一个使用WEKA库的java程序。

该集群在 12 小时后提交的作业超时,我无法改变这个事实,因为我是学生而不是该集群的负责人。

我想要做的是保存 JVM 的状态,然后重新加载它。基本上关闭程序一段时间,然后从上次中断的地方继续。

这可能吗?

我认为我无法(至少很容易)将 WEKA 对象本身中的变量状态输出到带有 OOS 的文件中并重新加载它们,因为我正在使用 WEKA 库,并且重写这些机器学习程序的代码将非常复杂。 (尽管这可能是我必须做的)

我尝试使用一个名为 javaflow 的库,我认为通过阅读可以实现此目的,但我无法让它工作。当尝试执行其计数示例时,我遇到了此错误:

Apr 20, 2016 9:15:12 PM org.apache.commons.javaflow.bytecode.StackRecorder execute
SEVERE: stack corruption. Is class test_javaflow.MyRunnable instrumented for javaflow?
java.lang.IllegalStateException: stack corruption. Is class test_javaflow.MyRunnable instrumented for javaflow?
at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:102)
at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170)
at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129)
at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102)
at test_javaflow.Test_Javaflow.main(Test_Javaflow.java:16)

谷歌搜索此错误会出现一些与名为 JasperSoft 的东西相关的页面,我相当确定这不是我要找的东西。

最佳答案

看看 docker 的 checkpoint 命令。它提供了保存 docker 容器当前状态然后恢复它的能力。我一直将它用于类似的用途——基于 JVM 的系统。就我而言,我使用它是因为初始化需要很长时间。通过使用检查点,我可以多次以已知状态重新启动容器。

关于java - 如何保存java程序的状态并在以后调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36758851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com