Leia o texto a seguir:
“As primeiras implementações de Java eram todas híbridas. Seu formato intermediário, chamado de bytecode, fornece portabilidade para qualquer máquina que tenha um interpretador de bytecodes e um sistema de tempo de execução associado. Juntos, eles são chamados de Máquina Virtual Java. Existem agora sistemas que traduzem bytecodes Java em código de máquina, de forma a possibilitar uma execução mais rápida.”
Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018.
Considerando o trecho acima, avalie as afirmações abaixo:
I. O código Java é interpretado pela Máquina Virtual, gerando como resultado o bytecode.
II. O bytecode é interpretado pela Máquina Virtual, sendo traduzido para instruções nativas.
III. O código Java é compilado pelo JIT, gerando bytecode para ser interpretado pela Máquina Virtual.
IV. O bytecode é compilado pelo JIT, gerando código de máquina nativo.
É correto o que se afirma em:
Grupo de escolhas da pergunta
II e IV, apenas.
II e III, apenas.
III e IV, apenas.
I e II, apenas.
I e IV, apenas.
Respostas
Resposta:
I e II
Explicação:
A linguagem de programação Java, além de ser fortemente tipada, também é conhecida pelas suas características de ser compilada e interpretada, e com base nessas características estão corretas as afirmações II e III.
Como funciona a execução de programas em Java?
Java é uma linguagem de programação compilada e interpretada. Mas o que isso quer dizer? Significa que o código fonte em Java passa por uma análise léxica (para saber o que o código significa) e sintática (para verificar a estrutura do código segundo a linguagem), resultando na geração de um arquivo chamado bytecode.
Após a compilação, o bytecode é interpretado pela Java Virtual Machine – JVM, que dinamicamente vai traduzindo o código para a linguagem nativa do sistema operacional. Esse processo é dinâmico devido ao Just in Time Compiler – JIT, que é o compilador responsável por otimizar determinados trechos do código fonte em tempo de interpretação, melhorando a performance conforme características nativas da plataforma em que estiver sendo executado.
Esse processo oferece as seguintes vantagens:
- Otimizar determinado código que pode não apresentar performance adequada;
- Mudar a estratégia de otimização conforme o caso.
Saiba mais sobre linguagem de programação Java em https://brainly.com.br/tarefa/4195400.
#SPJ2