在运行时修改JVM标志

时间:2016-04-28 19:58:16

标签: java jvm

我想在程序启动后立即修改/设置JVM标志。我无法在命令行上执行此操作,因为我与那些甚至不知道存在的人一起工作。所以它必须在程序中自动完成。

我对这三个标志特别感兴趣:-Xms4G -Xmx8G -noverify

我在this discussion(或that one)中发现可以使用Interface HotSpotDiagnosticMXBean修改某些标记。 this code显示了如何修改标志。遗憾的是,标记Xms或仅ms无法识别,然后抛出异常。

我还发现capsule可以完成这项工作,但使用起来似乎相当沉重。

有没有简单的方法呢?

1 个答案:

答案 0 :(得分:3)

您需要编写两个程序:一个只是一个启动程序,用于提供运行其他程序的正确参数。这就是Eclipse的工作原理,Jitsi以及现在已经过时的InstallShield Multiplatform启动器。可能你可以写一个简单的(例如一行或接近它)shell,.bat或VBS脚本来完成这项工作。