런타임시 Java 코드에 대해 HotSpot이 생성 할 수있는 최적화에 대해 더 잘 이해하고 싶습니다.최적화 후 HotSpot에서 생성하는 코드는 어떻게 볼 수 있습니까?
잠시 실행 한 후 HotSpot에서 사용하는 최적화 된 코드를 볼 수있는 방법이 있습니까?
런타임시 Java 코드에 대해 HotSpot이 생성 할 수있는 최적화에 대해 더 잘 이해하고 싶습니다.최적화 후 HotSpot에서 생성하는 코드는 어떻게 볼 수 있습니까?
잠시 실행 한 후 HotSpot에서 사용하는 최적화 된 코드를 볼 수있는 방법이 있습니까?
-XX:+PrintAssembly
및 -XX:UnlockDiagnosticVMOptions
옵션을 사용하여 JVM을 시작해야하지만 PrintAssembly에서는 JVM에 hsdis 바이너리 (HotSpot 디스어셈블러)가 있어야합니다. hsdis 바이너리는 라이센스 비 호환성으로 인해 JVM과 함께 배포되지 않으므로 compile hsdis yourself 또는 prebuilt hsdis binary from an unofficial web site이 필요합니다.
출력을 이해하려면 JITWatch과 같은 도구가 유용합니다. its instructions을 따라 JITWatch에서 분석 할 수있는 로그 파일에 디버그 정보를 작성하십시오.
그래, -XX : + PrintOptoAssembly가 핵심이다. –
주 :'PrintAssembly'는 새로운 플래그입니다. 'PrintOptoAssembly'는 오래된 플래그입니다. JVM의 디버그 빌드가 필요합니다. –