Penerangan
1. ThreadDump digunakan untuk mendiagnosis masalah dalam aplikasi Java Ia boleh digunakan untuk mencari kebocoran memori, menemui benang buntu, dsb.
2. Sistem boleh mendapatkan benang, status berjalan benang, pengenalan, panggilan dan maklumat lain, termasuk nama kelas lengkap, kaedah pelaksanaan, bilangan baris kod sumber, dsb.
Ciri
boleh digunakan dalam pelbagai sistem pengendalian
boleh digunakan dalam pelbagai pelayan aplikasi Java
boleh digunakan dalam pelbagai sistem pengendalian Gunakan tanpa menjejaskan prestasi sistem
Masalah boleh dikesan terus pada baris kod aplikasi.
Instance
public class JStack { public static void main(String[] args) throws Exception { ... String pid = args[optionCount]; String params[]; if (locks) { params = new String[] { "-l" }; } else { params = new String[0]; } runThreadDump(pid, params); ... } // Attach to pid and perform a thread dump private static void runThreadDump(String pid, String args[]) throws Exception { VirtualMachine vm = null; try { vm = VirtualMachine.attach(pid); } catch (Exception x) { ... } // Cast to HotSpotVirtualMachine as this is implementation specific // method. InputStream in = ((HotSpotVirtualMachine) vm) .remoteDataDump((Object[]) args); // read to EOF and just print output byte b[] = new byte[256]; int n; do { n = in.read(b); if (n > 0) { String s = new String(b, 0, n, "UTF-8"); System.out.print(s); } } while (n > 0); in.close(); vm.detach(); }
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Thread Dump dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!