>Java >java지도 시간 >JVM(Java Virtual Machine)에서 JIT 컴파일 코드를 어떻게 볼 수 있습니까?

JVM(Java Virtual Machine)에서 JIT 컴파일 코드를 어떻게 볼 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-05 17:14:11337검색

How Can I View JIT-Compiled Code in the Java Virtual Machine (JVM)?

JVM(Java Virtual Machine)에서 JIT 컴파일 코드 보기

JVM(Java Virtual Machine)은 Just-In-Time 기능을 제공합니다. (JIT) Java 바이트코드를 네이티브 코드로 최적화하는 컴파일러입니다. 이 네이티브 코드를 검사하려면 다음 기술을 고려하십시오.

일반 사용법

다음과 같이 JVM 옵션을 활용하십시오.

-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly

특정 메소드 필터링

다음을 사용하여 특정 메소드를 분리할 수 있습니다. 구문:

-XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,*MyClass.myMethod

참고:

  • OS에 따라 두 번째 인수 주위에 따옴표가 필요할 수 있습니다.
  • 메서드 인라인 특정 관측 가능성을 방해할 수 있음

Windows에 설치

Windows 시스템의 경우 아래 지침에 따라 필수 라이브러리를 빌드하고 설치하세요.

사전 구축된 바이너리

fcml에서 Windows용 사전 구축된 바이너리를 다운로드하세요. 프로젝트:

  • hsdis-amd64.dll
  • hsdis-i386.dll

수동 빌드

  1. 다음을 사용하여 Cygwin을 설치합니다. 패키지:

    • make
    • mingw64-x86_64-gcc-core(hsdis-amd64.dll용)
    • mingw64-i686-gcc-core(hsdis-amd64.dll용) hsdis-i386.dll)
    • diffutils
  2. GNU binutils 소스 패키지(예: binutils-2.25.tar.bz2)를 Cygwin 홈 디렉터리에 추출합니다.
  3. OpenJDK hsdis 디렉토리를 추출합니다( srcsharetools)를 Cygwin 홈 디렉토리에 복사합니다.
  4. Cygwin 터미널에서 ~/hsdis로 이동합니다.
  5. 적절한 명령을 사용하여 hsdis-amd64.dll(또는 hsdis-i386.dll)을 빌드합니다.
make OS=Linux MINGW=x86_64-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
(or)
make OS=Linux MINGW=i686-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  1. 편집 hsdisbuildLinux-amd64bfdMakefile을 작성하고 SUBDIRS = doc po를 SUBDIRS = po로 변경합니다.
  2. 빌드 명령을 다시 실행합니다.
  3. 빌드된 DLL을 JRE의 binserver 또는 binclient에 복사합니다. 디렉터리.

추가 팁

Intel ASM 구문의 경우 PrintAssembly 옵션과 함께 -XX:PrintAssemblyOptions=intel 옵션을 사용하세요.

위 내용은 JVM(Java Virtual Machine)에서 JIT 컴파일 코드를 어떻게 볼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.