Der Stack, auch als Laufzeit oder Call Stack bekannt, handelt. Java Virtual Machine (JVM) generiert automatisch eine Stapelverfolgung, wenn eine Ausnahme auftritt. Dieser Artikel enthält Ihnen also die Richtlinie, wie Sie die Stapelverfolgung des Laufprozesses in Java verwenden können.
Was ist Stapelverfolgung in Java
Bevor Sie eine Java -Datei erstellen, müssen Sie sicherstellen, dass Sie die JAVA Development Kit (JDK) -Anwendung in Ihrem Linux -Betriebssystem installiert haben. Andernfalls können Sie ein JAVA -Programm durch Eingeben nicht ausführen:
$ sudo apt installieren Standard-JDKNach der Installation dieser Voraussetzung müssen Sie eine Java -Datei und eine der einfachsten Möglichkeiten erstellen, indem Sie einen beliebigen Texteditor verwenden, indem Sie eingeben:
$ nano javastacktrace.JavaNach dem Erstellen einer Java -Datei besteht der nächste Schritt darin, einen Code darin zu schreiben und zu speichern, der unten angezeigt werden kann:
Nach dem Speichern einer Java -Datei besteht der nächste Schritt darin, sie zu kompilieren und auszuführen:
$ Javac Javastacktrace.JavaSie können sehen, dass wir geschrieben haben Demofun3 () als letzte Funktion beim Schreiben eines Code Dumpstack () Dadurch werden die Ausgabe auf dem Bildschirm angezeigt. Die verbleibenden Funktionen beginnen aus Demofun2 () Zu Demofun () wird danach in umgekehrter Reihenfolge ausführen und die hauptsächlich() Die Funktion wird unten angezeigt, da sie für die Start des Programms verantwortlich ist und auch andere Funktionen aufruft.
Sie können sagen, dass der Stack -Ausführungspunkt von der ersten Zeile beginnt und der Stack -Rahmen von der zweiten Zeile bis zur letzten Zeile beginnt, die die gesamte Stapelspur ausmacht. Wir können beobachten, dass die Methode, die zuerst durchgeführt wird.
Wie man die Spur eines Laufprozesses stapelt
JStack ist ein großartiges Tool, um Probleme mit der Laufzeit zu beheben, insbesondere wenn Ihre Anwendung handelt und mehr CPU oder Speicher verbraucht als erwartet, dann können Sie die Anwendung Fehler beheben. Lassen Sie es uns in Java implementieren:
öffentliche Klasse ForcedumpDanach können Sie eine Java -Datei mit einem beliebigen Texteditor erstellen, wie wir einen Nano -Texteditor verwenden, wie unten gezeigt
$ nano erzwungen.JavaDanach kompilieren Sie es mit:
$ javac erzwungen.JavaUnd ausführen:
$ java erzwungenNach dem Ausführen dieses Programms startet ein Hintergrundprozess. So finden Sie die Prozess -ID (PID), öffnen Sie ein anderes Terminalfenster und verwenden Sie:
$ PS Aux | Grep erzwungenAnschließend finden Sie zusätzliche Informationen zu Threads, die in einem Prozess ausgeführt werden, indem Sie den folgenden Befehl verwenden:
$ jstackDie Prozess -ID ist 4457, wie im Bild gezeigt:
$ JStack 4457Abschluss
Eine Stack Trace ist eine Sammlung von Stapelrahmen, die einen bestimmten Zeitpunkt während der Ausführung eines Programms veranschaulicht. Es enthält Details zu einer Methode oder Funktion, die Ihr Code aufgerufen hat. Daher ist die Java Stack Trace eine Reihe von Frames, die mit der aktuellen Methode beginnt und mit dem Beginn des Programms endet. In diesem Artikel haben wir Ihnen gezeigt, wie Sie den Stapelverfolgungsprozess in der Java -Programmiersprache implementieren können.