sun HotSpot JVM을 시작할 때 -server
옵션을 전달할 때의 정확한 결과에 대한 명확한 문서를 찾을 수 없습니다.HotSpot JVM에 대한 -server 옵션의 효과는 무엇입니까?
누구나 요약 할 수 있습니까?
sun HotSpot JVM을 시작할 때 -server
옵션을 전달할 때의 정확한 결과에 대한 명확한 문서를 찾을 수 없습니다.HotSpot JVM에 대한 -server 옵션의 효과는 무엇입니까?
누구나 요약 할 수 있습니까?
(자주 실행되는 코드 즉, 부분), 그리고 결과적으로 컴파일러는 그렇게 할 시간이 더 걸릴 것
또한 참조하십시오. 프로세스가 장시간 (예 : 서버에서) 실행될 때만이 옵션을 사용하므로 문제가되지 않습니다.-client를 사용하면 클라이언트 응용 프로그램을 실행할 때 컴파일러가 시작될 때 길게 뻗은 부분을 원하지 않기 때문에 수행되는 최적화가 훨씬 가볍고 빠릅니다.
장기 실행 프로그램이 더 나은 성능을 발휘하지만 느린 시작 시간을 희생 시키므로 더 많은 작업을 수행한다는 것을 기억합니다. 더 적극적으로 JVM은 핫스팟을 컴파일 -server와 What's the difference between the -client and -server systems?
일부 플랫폼에서는 -server 플래그가 기본적으로 설정됩니다.
(Linux/Solaris 및 메모리가 2GB 이상이고 프로세서가 2 개 이상인 경우). 당신이 말할 수 있듯이, 그 요구 사항들은 오래 전에 정의되었습니다. 나는 지금 그것보다 잘 지정된 노트북을 가지고있다 ...!
Windows가 클라이언트 java 만 실행하고 * nix가 서버 java를 실행한다고 가정하기 때문에 Windows에서이 설정을 절대로 기본값으로 설정하지 않았을 것으로 추측합니다.
최근까지 우리는 Windows Server에서 장기 실행 서버 프로세스를 실행하고 플래그를 돌리는 것이 눈에 띄는 차이를 만들었습니다.
컴파일러가 다른 스레드에서 실행되므로 실제로 일시 중지되지 않습니다. 코드를 컴파일하고 사용할 수있는 사이에는 지연이 있습니다. 서버 핫 스폿은 컴파일하기 전에 더 오래 대기하도록 기본 설정되어 있습니다 (컴파일 시간이 오래 걸리고 더 많은 메모리를 사용하기 때문에). –