繁体   English   中英

使用Java Web Start,32位和64位JVM是否可能具有不同的最大堆大小?

[英]Is it possible to have different max heap sizes for 32-bit and 64-bit JVMs using Java web start?

我有一个Web启动应用程序,它可以在1GB的内存中运行,但是如果它具有4GB的内存,则对于某些任务它的运行速度要快得多。 所以我想在可能的情况下使用4GB,即在64位JVM上。

是否有可能做到这一点? JNLP文件中是否可以为32位JVM和64位JVM分别指定最大堆?

更新资料

我尝试了以下行的JNLP文件:

<resources>
  <j2se version="1.8+" java-vm-args="-XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError"/>
</resources>

<resources os="Windows" arch="x86">
<j2se href="http://java.sun.com/products/autodl/j2se" onclick="javascript:mytracker(this.href);" version="1.8+"
  max-heap-size="1024m"/>
</resources>

<resources os="Windows" arch="x86_64">
<j2se href="http://java.sun.com/products/autodl/j2se" onclick="javascript:mytracker(this.href);" version="1.8+"
  max-heap-size="4096m"/>
</resources>

这没用。 特定于体系结构的资源块中的其他行也可以正常工作,因此我知道具有“ arch”属性的资源块已正确识别和使用。 为了简洁起见,我删除了本文中的其他几行。

是的,您可以根据架构提供不同的最大堆大小。 这是一个例子:

<resources os="Windows" arch="x86">
<j2se href="http://java.sun.com/products/autodl/j2se" onclick="javascript:mytracker(this.href);" version="1.8+"
  max-heap-size="1024m"/>
</resources>

<resources os="Windows" arch="x86_64">
<j2se href="http://java.sun.com/products/autodl/j2se" onclick="javascript:mytracker(this.href);" version="1.8+"
  max-heap-size="4096m"/>
</resources>

注意上面的示例与问题中给出的示例之间的区别! 问题示例中的第一个资源标签已被删除。 这是至关重要的,因为Java Web Start启动器将仅识别与安装的JVM匹配的第一个 j2se标记。 因为在问题的示例中,第一个j2se标记匹配,所以使用了它,并且使用了其中指定的参数...而不是后续j2se标记中的参数。

暂无
暂无

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

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