클라이언트가 가진 데이터의 양에 따라 더 많은 메모리가 필요한 애플릿이 있습니다.- 애플릿과 독립 실행 형 Java 프로세스 사이의 Xmx 차이점
일반적으로 Java 1.6 최신 버전을 사용하는 것이 좋지만 Java 1.5+를 실제로 지원하므로 애플릿에서 "메모리가 부족합니다"라는 경고와 함께 대화 상자를 표시하고 어디로 가야하는지 지침을 표시합니다 기억.
그러나 애플릿과 독립 실행 형 프로세스에서 -Xmx가 다르게 작동하고 실제로 애플릿에 충분한 메모리가 있는지 확인할 수 없다는 사실에 놀랐습니다.
- 애플릿이 다음 인수 수신 : 여기
그것을 수행하는 방법이다
- 매개 변수 이름 = "java_arguments"값을 = - 물론이 자바에서 작동 ("Xmx153m"1.6 업데이트를 10, 그렇지 않은 경우는 자바 1.5과 자바 1.6 이전 업데이트에서 10)
- 매개 변수 이름 = "required.memory"값을 64M를 얻을 것이다 = "153"런타임에
- , 우리 우리 143,589,376 얻을 애플릿에서 153M의 한도 Runtime.getRuntime(). maxMemory()
- 으로 required.memory 비교하지만 독립형 애플리케이션에서는 155,516,928
- 153 * 1000 * 1000 = 153,000,000 얻을 (나는 1024를 1K에 대해 사용하고 있지 않다.) 분명히 143589376 이상이다.
JVM에서 근사값을 피하기 위해 0.9의 인자를 사용한다면 잘 작동하는 것처럼 보일 것이다. 적당한 값 - 0.9? 이 제한을 어떻게 계산하며 독립형 응용 프로그램과 애플릿에서 다른 점은 무엇입니까?