Stabelen, også kjent som Runtime eller Call Stack, er en samling av stakkrammer laget av et program mens den kjører og lagret i en stabeldatastruktur. Java Virtual Machine (JVM) vil automatisk generere et stakkspor når et unntak oppstår. Så denne artikkelen vil gi deg retningslinjen for hvordan du kan bruke stakksporet til løpsprosessen i Java.
Hva er stabelsporing i Java
Nå før du oppretter en Java -fil, må du sørge for at du har installert Java Development Kit (JDK) -applikasjonen i Linux -operativsystemet ditt, ellers vil du ikke kunne utføre noe Java -program ved å skrive:
$ sudo apt install standard-jdkEtter å ha installert denne forutsetningsapplikasjonen, må du opprette en Java -fil og en av de enkleste måtene å gjøre dette på er ved å bruke hvilken som helst tekstredigerer ved å skrive:
$ Nano JavastackTrace.JavaEtter å ha opprettet en Java -fil, er neste trinn å skrive og lagre en kode i den som kan sees nedenfor:
Etter å ha lagret en Java -fil, er neste trinn å samle og kjøre den:
$ Javac JavastackTrace.JavaDu kan se at vi har skrevet demofun3 () Som den siste funksjonen mens du skriver en kode, men den er blitt utført i den andre linjen, da dette er poenget med sporingsgenerering som vil være ansvarlig for å utføre dumpstack () som vil vise utgangen på skjermen. De resterende funksjonene som starter fra demofun2 () til Demofun () vil utføre etterpå i omvendt rekkefølge og hoved() Funksjon vises nederst, da den er ansvarlig for å starte programmet og vil også kalle andre funksjoner også.
Du kan si at stack -utførelsespunktet starter fra første linje og stabelrammen starter fra den andre linjen til den siste linjen som utgjør hele stakksporet. Vi kan observere at metoden som utføres først blir Stack Trace sin siste stabelramme, mens metoden som utføres sist blir stakksporens første stabelramme, og som et resultat representerer hvert stakksporstykke en stabelramme.
Hvordan stable spor etter en løpsprosess
JStack er et flott verktøy for å løse problemer. La oss implementere det i Java:
offentlig klasse tvangstumpEtter det kan du opprette en Java -fil ved hjelp av hvilken som helst tekstredigerer som vi gjorde ved å bruke en Nano Text Editor som vist nedenfor
$ nano tvangstump.JavaEtter det kompilerer det ved å bruke:
$ Javac Forcedump.JavaOg utfør:
$ Java tvangstumpEtter å ha kjørt dette programmet starter en bakgrunnsprosess; For å finne prosess -ID (PID), åpne et annet terminalvindu, og bruk:
$ ps aux | grep tvangstumpDeretter kan du finne ytterligere informasjon angående tråder som kjører i en prosess ved å bruke kommandoen nedenfor:
$ jstackProsess -ID er 4457 som vist på bildet:
$ Jstack 4457Konklusjon
A Stack Trace er en samling av stakkrammer som illustrerer et bestemt øyeblikk i løpet av et programs utførelse. Det inneholder detaljer om en metode eller funksjon som koden din påkalt. Derfor er Java Stack Trace en serie rammer som starter med den nåværende metoden og slutter med begynnelsen av programmet. I denne artikkelen har vi vist deg hvordan du kan implementere stakksporingsprosessen på Java -programmeringsspråket.