Terdapat 5 alatan dan teknik yang biasa digunakan untuk analisis prestasi fungsi Java: Rangka Kerja Penanda Aras JMH TimeUnit.measure Performance Monitoring API Java Flight Recorder (JFR) NetBeans ProfilerYourKit Java Profiler
Alat dan teknik yang biasa digunakan untuk analisis prestasi fungsi Java
Java menyediakan pelbagai alat dan teknik untuk menganalisis prestasi fungsi untuk meningkatkan kecekapan kod dan prestasi aplikasi. Artikel ini akan memperkenalkan beberapa alat dan teknik yang biasa digunakan dan menyediakan kes praktikal untuk menunjukkan penggunaannya.
JMH (Java Microbenchmark Harness) ialah rangka kerja penanda aras yang ringan dan tepat yang boleh digunakan untuk menanda aras kod Java. Ia menyediakan API yang mudah digunakan untuk menentukan penanda aras, menentukan data input dan mendapatkan hasil.
Contoh:
@Benchmark public void testMethod() { // 代码要分析的函数 }
java.util.concurrent.TimeUnit menyediakan objek yang dipanggil measure
的方法,可用于测量指定代码块的执行时间。它返回一个表示运行时(以纳秒为单位)的 Duration
.
Contoh:
long startTime = TimeUnit.NANOSECONDS.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS); testMethod(); long endTime = TimeUnit.NANOSECONDS.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS); System.out.println("Execution time: " + (endTime - startTime) + " ns");
Java Flight Recorder (JFR) ialah alat pemprofilan terbina dalam yang merekodkan dan menganalisis maklumat masa jalan aplikasi, termasuk masa pelaksanaan fungsi. Ia menyediakan antara muka pengguna grafik untuk melihat hasil analisis dan boleh menjana syot kilat untuk analisis luar talian.
Example:
enable JFR pada permulaan aplikasi:
System.setProperty("com.sun.management.jmxremote", "true"); com.sun.management.jmxremote.local.JMXLocalConnectorServer.startRemoteConsole();
use JFR API Untuk merekodkan masa pelaksanaan fungsi:
FlightRecorder.getFlightRecorderMXBean().recordPerhapsWritten(FlightRecorderEventFactory.getCallableStartEvent("myEvent", "testMethod")); testMethod(); FlightRecorder.getFlightRecorderMXBean().recordPerhapsWritten(FlightRecorderEventFactory.getCallableEndEvent("myEvent", "testMethod"));
Contoh:
Muatkan aplikasi dalam NetBeans, klik kanan pada projek dan pilih "Profil". Ini akan membuka tetingkap Profiler di mana anda boleh melihat hasil pemprofilan dan butiran pelaksanaan. 5. YourKit Java Profiler
YourKit Java ProfilerContoh:
Pasang ejen YourKit dalam aplikasi anda dan kemudian mulakan Profiler. Ini akan melancarkan konsol jauh di mana hasil analisis dan ciri lanjutan boleh diakses.
Atas ialah kandungan terperinci Apakah alat dan teknik biasa untuk analisis prestasi fungsi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!