Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Afirmação - 'O compilador gera o Bytecode caso não tenha nenhum erro sintático no código fonte."

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 .

2 respostas
soluçã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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. 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 ! ^^