Como empilhar traços um processo de corrida em java

Como empilhar traços um processo de corrida em java
Um rastreamento de pilha nada mais é do que a localização das exceções nos programas Java ou você pode dizer que é usado para encontrar essas linhas de um código em que ocorrem exceções. Um rastreamento de pilha funciona da mesma maneira que uma pilha de papéis em sua mesa faz o primeiro in, na última saída. Você adiciona papéis à pilha e depois os retira na ordem inversa. Inclui detalhes sobre um processo ou operação que seu código chamou. Como resultado, o Java Stack Trace é uma sequência de quadros que começa com o método atual e termina com o início do programa.

A pilha, também conhecida como tempo de execução ou pilha de chamadas, é uma coleção de quadros de pilha criados por um programa enquanto ele é executado e armazenado em uma estrutura de dados de pilha. Java Virtual Machine (JVM) gerará automaticamente um rastreamento de pilha quando ocorre uma exceção. Portanto, este artigo fornecerá a orientação sobre como você pode usar o rastreamento da pilha do processo de corrida em Java.

O que é rastreamento de pilha em java

Agora, antes de criar um arquivo Java, você precisa ter certeza de instalar o aplicativo Java Development Kit (JDK) em seu sistema operacional Linux; caso contrário, você não poderá executar qualquer programa Java digitando:

$ sudo apt install default-jdk

Depois de instalar este aplicativo de pré -requisito, você precisa criar um arquivo Java e uma das maneiras mais fáceis de fazer isso é usando qualquer editor de texto digitando:

$ nano javastacktrace.Java

Depois de criar um arquivo Java, a próxima etapa é escrever e salvar um código que pode ser visto abaixo:

Depois de salvar um arquivo Java, o próximo passo é compilar e executá -lo:

$ javac javastacktrace.Java
$ java javastacktrace

Você pode ver que escrevemos Demofun3 () como a última função ao escrever um código, mas foi executado na segunda linha, pois esse é o ponto de geração de rastreamento que será responsável por executar o dumpstack () que exibirá a saída na tela. As demais funções a partir de Demofun2 () para Demofun () será executado depois na ordem inversa e no principal() A função é exibida na parte inferior, pois é responsável por iniciar o programa e também chamará outras funções.

Você pode dizer que o ponto de execução da pilha começa a partir da primeira linha e a estrutura da pilha começa da segunda linha até a última linha que compõe todo o rastreamento da pilha. Podemos observar que o método que é realizado primeiro se torna o último quadro de pilha do Stack Trace, enquanto o método executado por último se torna o primeiro quadro de pilha da pilha Trace e, como resultado, cada peça de rastreamento de pilha representa um quadro de pilha.

Como empilhar traços de um processo de corrida

O JStack é uma ótima ferramenta para resolver problemas de tempo de execução, especialmente se o seu aplicativo estiver agindo, consumindo mais CPU ou memória do que o esperado, você pode solucionar o aplicativo. Vamos implementá -lo em Java:

classe pública forcedump
public static void main (string [] args) lança exceção
tentar
while (true)
Fio.Sleep (2000);

Catch (Demonsception de NullPonterException)
Demonstração.printStackTrace ();


Depois disso, você pode criar um arquivo Java usando qualquer editor de texto como fizemos usando um editor de texto Nano, como mostrado abaixo

$ nano forcedump.Java

Depois disso, compile usando:

$ javac forcedump.Java

E executar:

$ java forcedump

Depois de executar este programa, um processo em segundo plano começará; Para encontrar o ID do processo (PID), abra outra janela do terminal e use:

$ ps aux | Grep Forcedump

Em seguida, você pode encontrar informações adicionais sobre tópicos que estão em execução em um processo usando o comando abaixo:

$ jstack

O ID do processo é 4457 como mostrado na imagem:

$ jstack 4457

Conclusão

Um rastreamento de pilha é uma coleção de quadros de pilha que ilustra um momento específico no tempo durante a execução de um programa. Inclui detalhes sobre um método ou função que seu código chamou. Portanto, o Java Stack Trace é uma série de quadros que começa com o método atual e termina com o início do programa. Neste artigo, mostramos como você pode implementar o processo de rastreamento da pilha na linguagem de programação Java.