Heim > Java > javaLernprogramm > Hauptteil

So verwenden Sie Thread Dump in Java

PHPz
Freigeben: 2023-05-01 20:19:05
nach vorne
1600 Leute haben es durchsucht

Beschreibung

1. ThreadDump wird zur Diagnose von Problemen in Java-Anwendungen verwendet und kann zum Auffinden von Speicherlecks, zum Entdecken von Deadlock-Threads usw. verwendet werden.

2. Das System kann Thread-, Thread-Laufstatus-, Identifikations-, Aufruf- und andere Informationen abrufen, einschließlich des vollständigen Klassennamens, der Ausführungsmethode, der Anzahl der Quellcodezeilen usw.

Funktionen

kann in verschiedenen Betriebssystemen verwendet werden;

kann in verschiedenen Java-Anwendungsservern verwendet werden;

kann ohne Beeinträchtigung der Systemleistung verwendet werden;

Das Problem kann direkt in der Codezeile der Anwendung lokalisiert werden.

Instanz

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();
            }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Thread Dump in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage