暂停程序直到下次启动

时间:2015-01-11 19:41:55

标签: java hibernation

我有一个强制执行A​​ES256加密的程序,当计算机进入关机/重启时如何暂停程序,并在同一时间点继续执行直到系统下一次启动?

程序的一种休眠。

2 个答案:

答案 0 :(得分:1)

我同意@ Thufir回答的第2部分和第3部分,但关于第1部分,它假定您正在运行GUI。

而不是这个我会在JVM中添加shutdown hook并在那时写出我的程序的状态。您可以使用以下方法执行此操作:

Runtime.getRuntime().addShutdownHook(new Thread() {
   public void run() {
       // your serialization code goes here
   }
});

答案 1 :(得分:0)

你在这里问了三件事。

1-如何检查操作系统何时重启/关机

解决方案: 您可以创建一个空的不可见窗口,并向其添加WindowListener。它将在Windows上接收windowClosing事件。

您可以找到示例HERE

2-如何保存BruteForce进程的状态,并在系统启动时暂停再次启动。

解决方案: 这很简单,你必须序列化。当系统再次启动时,这些将保存您的类/类的状态以反序列化。您可以学习HERE

3-当操作系统启动时,如何知道何时再次启动程序?

解决方案: 您可以将程序置于操作系统的初始化过程中。当它启动时,你检查是否有任何反序列化并执行它,恢复BruteForce的过程。