有没有办法从jvm里面修改jvm args?具体来说,我希望能够从内部更改jvm的最大堆大小.这可能吗?
编辑:我想我应该添加我想要这样做的原因.我有一些在不同的机器/平台上运行的Java程序.这些程序具有在运行时获取的配置,并且根据程序运行的计算机/环境而不同.其中一些配置可以在运行时更改,并且各种程序会随着配置的更改自动更新.
我希望堆大小成为这些配置参数之一,这些参数在运行时来源,就像配置的其余部分一样.如果是这样,那么程序可以启动(使用一些默认的jvm args)然后根据检索到的配置调整自身.
这是一个半途而废的,彻头彻尾的黑客思想:
...如果您从当前的jvm中生成了一个新的java实例(使用新设置)然后从新的进程中杀死旧进程怎么办?我不知道这是否有帮助(甚至工作)......