Lo stack, noto anche come Runtime o Call Stack, è una raccolta di frame dello stack creati da un programma mentre funziona e memorizzati in una struttura di dati dello stack. Java Virtual Machine (JVM) genererà automaticamente una traccia dello stack quando si verifica un'eccezione. Quindi, questo articolo ti fornirà le linee guida su come utilizzare la traccia dello stack del processo di esecuzione in Java.
Cosa sta tracciando lo stack in Java
Ora prima di creare un file Java, è necessario assicurarsi di aver installato l'applicazione Java Development Kit (JDK) nel tuo sistema operativo Linux, altrimenti non sarai in grado di eseguire alcun programma Java digitando:
$ sudo apt installare default-jdkDopo aver installato questa applicazione prerequisito, è necessario creare un file Java e uno dei modi più semplici per farlo è usando qualsiasi editor di testo digitando:
$ nano javastacktrace.GiavaDopo aver creato un file Java, il passo successivo è scrivere e salvare un codice che può essere visto di seguito:
Dopo aver salvato un file Java, il passo successivo è compilare ed eseguirlo:
$ javac javastacktrace.GiavaPuoi vedere che abbiamo scritto Demofun3 () Come ultima funzione durante la scrittura di un codice ma è stata eseguita nella seconda riga in quanto questo è il punto della generazione di tracce che sarà responsabile di eseguire il DumpStack () che visualizzerà l'output sullo schermo. Le restanti funzioni a partire da Demofun2 () A demofun () eseguirà successivamente nell'ordine inverso e nel principale() La funzione viene visualizzata in fondo in quanto è responsabile dell'avvio del programma e chiamerà anche altre funzioni.
Si può dire che il punto di esecuzione dello stack inizia dalla prima riga e il frame stack inizia dalla seconda riga all'ultima riga che costituisce l'intera traccia dello stack. Possiamo osservare che il metodo eseguito per primo diventa l'ultimo telaio dello stack dello stack, mentre il metodo che viene eseguito diventa l'ultimo diventa il primo telaio dello stack dello stack e, di conseguenza, ogni pezzo di traccia dello stack rappresenta una cornice dello stack.
Come impilare la traccia di un processo di esecuzione
JStack è un ottimo strumento per risolvere i problemi di esecuzione del tempo soprattutto se l'applicazione agisce, consumando più CPU o memoria del previsto, è possibile risolvere l'applicazione. Implementlo in Java:
Classe pubblica ForcedumpSuccessivamente, puoi creare un file Java usando qualsiasi editor di testo come abbiamo fatto usando un editor di testo nano come mostrato di seguito
$ nano forzato.GiavaDopo quella compilarlo usando:
$ javac forzato.GiavaEd eseguire:
$ Java forzatoDopo aver eseguito questo programma, inizierà un processo di base; Per trovare l'ID processo (PID), aprire un'altra finestra del terminale e utilizzare:
$ ps aux | grep forcedumpQuindi è possibile trovare ulteriori informazioni sui thread in esecuzione in un processo utilizzando il comando di seguito:
$ jstackL'ID processo è 4457 come mostrato nell'immagine:
$ Jstack 4457Conclusione
Una traccia dello stack è una raccolta di frame dello stack che illustra un momento specifico nel tempo durante l'esecuzione di un programma. Include dettagli su un metodo o funzione che il tuo codice ha invocato. Pertanto, la traccia di Java Stack è una serie di frame che inizia con il metodo corrente e termina con l'inizio del programma. In questo articolo, ti abbiamo mostrato come è possibile implementare il processo di tracciamento dello stack nel linguaggio di programmazione Java.