Rumah > Java > javaTutorial > Bagaimana untuk menggunakan Thread Dump dalam java

Bagaimana untuk menggunakan Thread Dump dalam java

PHPz
Lepaskan: 2023-05-01 20:19:05
ke hadapan
1623 orang telah melayarinya

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();
            }
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Thread Dump dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan