2016-10-27 5 views
0

1GB의 메모리에서 실행할 수있는 웹 시작 응용 프로그램이 있지만 4GB의 메모리가있는 경우 특정 작업에 상당히 빠르게 실행됩니다. 따라서 64 비트 JVM에서 4GB를 사용할 수 있습니다.Java 웹 시작을 사용하여 32 비트 및 64 비트 JVM에 다른 최대 힙 크기를 지정할 수 있습니까?

가능합니까? JNLP 파일에 32 비트 JVM 및 64 비트 JVM의 최대 힙을 개별적으로 지정하는 방법이 있습니까? 그것은 작동하지 않았다

<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> 

:

업데이트 나는이 라인 JNLP 파일을 시도했다. 아키텍처 특정 리소스 블록의 다른 줄이 작동했기 때문에 "arch"특성을 가진 리소스 블록이 올바르게 식별되고 사용된다는 것을 알고 있습니다. 간결함을 위해이 게시물에서 다른 줄을 제거했습니다.

답변

1

예. 아키텍처에 따라 최대 힙 크기를 다르게 지정할 수 있습니다. 예를 들면 다음과 같습니다.

<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 웹 시작 실행 프로그램은/a 설치된 JVM과 일치하는 첫 번째 j2se 태그 만 인식하기 때문에 이는 매우 중요합니다. 질문의 예에서 첫 번째 j2se 태그가 일치하기 때문에이 태그가 사용되며 그 안에 지정된 인수가 사용되며 후속 j2se 태그의 인수는 사용되지 않습니다.