有什么方法可以“重新启动”JVM?

2022-09-01 07:00:05

有没有办法重新启动JVM?就像在 中 一样,实际上不要退出,而是关闭并重新加载所有类,并从顶部运行 main?


答案 1

你最好的选择可能是在循环中运行java解释器,然后退出。例如:

#!/bin/sh
while true
do
    java MainClass
done

如果您希望能够完全重新启动或关闭,则可以测试退出状态:

#!/bin/sh
STATUS=0
while [ $STATUS -eq 0 ]
do
    java MainClass
    STATUS=$?
done

在 java 程序中,您可以使用 System.exit(0) 来指示您要“重新启动”,并使用 System.exit(1) 来指示您想要停止并保持停止状态。


答案 2

IBM的JVM有一个名为“可复位”的功能,它允许你有效地完成你所要求的事情。

http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhpj/topics/dfhpje9.htm

除了IBM JVM,我认为这是不可能的。


推荐