我正在使用别人编写的一个java软件,但它总是内存不足。我尝试在程序初始化时分配更多内存(使用-Xmx),但似乎没有任何效果。
软件的编写者是否有可能对最大堆大小进行硬编码,因此我在初始化时分配的额外内存没有任何效果?或者 -Xmx 应该始终有效吗?
最佳答案
Is it possible that the writers of the software have hardcoded the maximum heap size, and that therefore the extra memory I'm allocating at initialisation doesn't have any effect?
没有。内存大小在代码加载之前设置。
Or should -Xmx always work?
这取决于您的意思以及您如何使用它。很长一段时间,没有办法为小程序分配额外的内存。大约 1.5(如果没记错的话)额外的选项被添加到小程序元素中 - 其中之一是 max。内存。在Plug-In 2 JRE架构中,小程序可以通过JWS启动,并可以通过启动文件分配内存。
关于java - 是否可以覆盖任何 Java 小程序的最大堆大小的默认设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673223/