Java Dumps ialah beberapa teras Java yang tersalah cipta apabila Mesin Maya terhenti secara tidak dijangka disebabkan isu rangkaian, Ralat memori atau apabila pengguna memulakan sebarang jenis kombinasi ketukan kekunci. Java Dump boleh dibuat dengan mudah sama ada dengan memanggil Java Dump API yang dimasukkan ke dalam kod sumber aplikasi atau dengan menyediakan terus pilihan -Xdump:java melalui baris arahan. Java Dump menyediakan bantuan kepada pengguna akhir dengan menyediakan beberapa maklumat berguna untuk menyelesaikan masalah dan mendiagnosis punca penghentian yang berlaku apabila aplikasi berhenti berjalan tanpa diduga.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks
Tiada sintaks khusus untuk pembuangan Java kerana keperluan untuk pembuangan java bergantung pada punca masalah, yang boleh diubah, seperti yang dinyatakan. Jadi, aliran sintaks ini ialah apabila pengguna perlu mendiagnosis punca utama dan ingin melakukan analisis menggunakan alat jcmd hanya dengan menghantar permintaan yang diperlukan kepada JVM, dan adalah wajib untuk menggunakan sistem yang sama pada masa jalan yang digunakan untuk penghantaran permintaan ini kepada mesin dan program Java. Jadi, Sintaks ditakrifkan seperti berikut:
jcmd <process_ id> GC.heap_dump <pathname_for_file>
di mana parameter yang diluluskan adalah :
Aliran Kerja untuk Java Dumps sangat menarik dengan fakta bahawa ia memberikan bantuan besar kepada pengguna akhir atau pengaturcara semasa mesin mengalami kemalangan atau sebarang penghentian yang tidak dijangka dalam sistem disebabkan oleh pelbagai sebab yang disebut seperti gangguan rangkaian, ralat ingatan, dsb. Tambahan pula, sebarang bentuk ralat yang menghalang pelaksanaan program Java boleh disimpan dengan menggunakan java Dumps untuk penyelesaian masalah dan diagnosis punca punca. Terdapat beberapa senario berdasarkan tempat Dumps dalam Java berfungsi iaitu seperti berikut :
Terdapat cara berbeza untuk menangkap semua senario dan puncanya dengan menggunakan alatan dan teknologi Java dumps. Ia sangat berguna dalam menyelesaikan masalah berkaitan kebocoran memori dan masalah pengoptimuman memori. Ia kebanyakannya disimpan dalam format binari dalam fail hprof yang boleh divisualisasikan dan dianalisis menggunakan alat dan teknologi berikut seperti :
Contoh Ini Menunjukkan utas yang melakukan kebuntuan pada sumber, dan sekarang mereka telah memperoleh kunci pada sumber, terdapat kemungkinan analisis kebuntuan ini pada sumber dengan Java Dumps menggunakan arahan dalam sebutan baris arahan.
public class Java_lock_Dump_Demo { public static void main(String[] args) throws InterruptedException { Object ob_a = new Object(); Object ob_b = new Object(); Object ob_c = new Object(); Thread Java_lock_Dump_DemoThread1 = new Thread (new Java_lock_Dump_Demo_Sync_Thread(ob_a, ob_b ), "Java_lock_Dump_DemoThread1"); Thread Java_lock_Dump_DemoThread2 = new Thread (new Java_lock_Dump_Demo_Sync_Thread(ob_b, ob_c ), "Java_lock_Dump_DemoThread2"); Thread Java_lock_Dump_DemoThread3 = new Thread (new Java_lock_Dump_Demo_Sync_Thread(ob_c, ob_a ), "Java_lock_Dump_DemoThread3"); Java_lock_Dump_DemoThread1.start(); Thread.sleep(3000); Java_lock_Dump_DemoThread2.start(); Thread.sleep(3000); Java_lock_Dump_DemoThread3.start(); } } class Java_lock_Dump_Demo_Sync_Thread implements Runnable { private Object ob_a; private Object ob_b; public Java_lock_Dump_Demo_Sync_Thread(Object ob_a, Object ob_b) { this.ob_a = ob_a; this.ob_b = ob_b; } @Override public void run() { String nm = Thread.currentThread().getName(); synchronized (ob_a) { System.out.println(nm + " acquire_the_lock_on_first_resource " + ob_a); try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (ob_b) { System.out.println(nm + " acquire_the_lock_on_second_resource " + ob_b); } System.out.println(nm + " Release_the_lock_for_second_object " + ob_b); } System.out.println(nm + " Release_the_lock_for_first_object " + ob_a); System.out.println(nm + " Completed with the deadlock_test for acquiring the resource."); } }
Output:
Bagaimana untuk mendapatkan pembuangan kod yang disusun di atas ia boleh dilakukan menggunakan arahan berikut :
Jcmd<Process_id> GC.heap_dump <file-path> jcmd 20528 GC.heap_dump C:\Users\adutta\eclipse-workspace\Matcher_Example\src
Java Dumps is considered a very interesting feature in java as It provides programmers and users with the ability to get out of the unwanted and unexpected situations at the time of halt in the running program as well as when the machine goes out of memory space. It also provides the user with detailed and proper content for the root cause or the troubleshooting issue.
Atas ialah kandungan terperinci Tempat pembuangan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!