繁体   English   中英

以编程方式设置max java堆大小

[英]programmatically setting max java heap size

有没有办法以编程方式设置max java堆大小而不是vm参数?

就像是:

System.getProperties().put("<heap variable>", "1000m");

没有任何Hotspot JVM。 JVM堆参数只能在命令行中指定,然后在JVM的生存期内得到修复。

使用Hotspot Java实现,“更改”应用程序堆大小的唯一方法是在具有不同命令行参数的新JVM中重新启动它。

(我模糊地回忆一下其他厂商的JVM 确实允许在运行的JVM中更改一些堆参数。也许有人可以澄清。)

您需要了解JVM空间与其运行环境之间的区别。您提到的参数(以及任何其他-X或-XX参数)是由运行JVM的环境提供的环境设置。

在Windows XP计算机中,Windows操作系统是JVM的启动程序。 因此,JVM不应该能够更改操作系统提供的参数。 这是合乎逻辑的。

@Stephen C,您可能对提供此功能的某些VM实现是正确的,但我不确定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM