我正在创建一个Web启动应用程序,它将受益于一些新的JVM选项(尤其是Escape Analysis、G1垃圾收集器等)。
同时,我希望应用程序在不支持这些选项的旧JVM上正常工作。
有没有一个很好的方法来实现这个目标?
AS Thorbjørn 提到,Java 6 U10允许多个 j2se JNLP中的元素。这个 JNLP File Syntax resources 最新部分 Java Web启动开发者指南 ,表示多个 J2SE 元素,每个元素 java-vm-args 属性可以指定为最优先出现的属性。例如:
j2se
resources
J2SE
java-vm-args
<j2se version="1.3" initial-heap-size="64m" max-heap-size="128m"/> <j2se version="1.4.2+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-esa -Xnoclassgc"/>