Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memeriksa Kod Java Disusun JIT?

Bagaimanakah Saya Boleh Memeriksa Kod Java Disusun JIT?

Patricia Arquette
Patricia Arquetteasal
2024-12-10 17:40:10177semak imbas

How Can I Inspect JIT-Compiled Java Code?

Memeriksa Kod Disusun JIT dalam JVM

Mengakses Output JIT

Untuk melihat kod asli yang dijana oleh pengkompil JIT dalam Mesin Maya Java (JVM), menggunakan JVM berikut pilihan:

-XX:+UnlockDiagnosticVMOptions
-XX:+PrintAssembly

Menapis pada Kaedah Tertentu

Sebagai alternatif, anda boleh menapis kaedah tertentu menggunakan sintaks:

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

Pertimbangan Windows

Untuk pengguna Windows, anda mesti memasang terlebih dahulu hsdis-amd64.dll dan hsdis-i386.dll daripada projek fcml.

Panduan Pemasangan Langkah demi Langkah untuk Windows

  1. Pasang Cygwin dan pilih yang berikut pakej:

    • buat
    • mingw64-x86_64-gcc-core (untuk hsdis-amd64.dll)
    • mingw64-i686-gcc-core (untuk hsdis- i386.dll)
    • diffutils (daripada kategori Utils)
  2. Muat turun dan ekstrak pakej sumber GNU binutils ke direktori utama Cygwin anda (cth., C:cygwinhome).
  3. Muat turun dan ekstrak direktori hsdis OpenJDK ke Cygwin anda direktori rumah.
  4. Navigasi ke direktori hsdis dalam Terminal Cygwin (cd ~/hsdis).
  5. Kompilasi hsdis-amd64.dll:

    • buat OS=Linux MINGW=x86_64-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  6. Kompilasi hsdis-i386.dll:

    • buat OS=Linux MINGW=i686-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  7. Edit ~/hsdis/build/Linux -amd64/bfd/Makefile dan tukar SUBDIRS = doc po kepada SUBDIRS = po.
  8. Jalankan semula arahan kompilasi.
  9. Salin DLL ke direktori bin JRE anda:

    • Salin daripada hsdisbuildLinux-amd64 atau hsdisbuildLinux-i586 ke JREbinserver atau JREbinclient.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Kod Java Disusun JIT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn