Boa tarde, espero que estejam bem ^^
Eu sei que o Bytecode é executado pela JVM e JRE.
Como o compilador vai GERAR o Bytecode, sendo que ele realiza a execução ?
Desde já agradeço atenção .
Boa tarde, espero que estejam bem ^^
Eu sei que o Bytecode é executado pela JVM e JRE.
Como o compilador vai GERAR o Bytecode, sendo que ele realiza a execução ?
Desde já agradeço atenção .
Olá Mayara, tudo bem com você?
O compilador Java gera o bytecode seguindo o padrão:
1 - análise léxica: nesse momento, o compilador verifica as palavras-chave do seu código fonte, para verificar se encontra as palavras reservadas.
2 - análise sintática: nesse momento o compilador varre a sintaxe do código fonte, e procura se existe algum erro (um exemplo de erro sintático é a não colocação de um ; [ponto e vírgula] ao final de um comando Java.
3 - análise semântica: O compilador procura por erros "sutís", que não geram uma falha de imediato, como por exemplo tentar fazer a divisão de um inteiro por um float, ou divisões por 0.
Caso o código-fonte passe por todas essas análises, o código bytecode é gerado e aparecerá um arquivo com a extensão .class na sua pasta out do projeto.
Esse bytecode foi gerado a partir do compilador da máquina virtual java.
Para a execução do código bytecode, a JRE vai interpretar o bytecode gerado e executar o programa.
Sendo assim, a a JVM tem ferramentas para compilação e geração de bytecode, bem como a JRE, que é a ferramenta utilizada para rodar o código bytecode gerado pelo processo de compilação.
Para se aprofundar mais, recomendo esse artigo sobre o processo de compilação.
Me coloco à disposição caso tenha dúvidas e bons estudos!
Olá Arthur, Perfeito! Estou ótima ^^ Depois de pesquisar eu entendi esse processo do Bytecode ser gerado para só então pode ser executado na JVM. A sua resposta também esclareceu bastante a minha dúvida, vou dar uma olhada nesse artigo.
Muito obrigada pela ajuda ! ^^