• Matéria: Informática
  • Autor: diegofelipelipe
  • Perguntado 3 anos atrás

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

III e IV, apenas.

I e II, apenas.

II e IV, apenas.

I e IV, apenas.

II e III, apenas.

Respostas

respondido por: chibalabada
0

Resposta:II e IV, apenas.

Explicação:

A afirmativa I é falsa, pois o código Java é traduzido uma vez para bytecode, um código binário “fictício”. Esse processo corresponde a uma compilação, porém, tendo como alvo a Máquina Virtual, e não o binário nativo.        

A afirmativa II é verdadeira, pois uma das formas de lidar com o bytecode é interpretando-o, um processo realizado pela Máquina Virtual Java. Esse processo é menos eficiente e deve ser repetido todas as vezes que o programa for executado.

A afirmativa III é falsa, pois o código Java é compilado para bytecode, o qual pode ser interpretado pela Máquina Virtual. Alternativamente, o bytecode (e não o código Java original) atualmente é compilado pelo compilador JIT (Just In Time) em sua primeira execução em uma máquina, gerando um código binário nativo.

A afirmativa IV é verdadeira, pois, alternativamente, o programa pode passar por uma segunda compilação, onde o bytecode é traduzido permanentemente para código nativo de máquina. Isso é realizado pelo compilador JIT (Just-In-Time), que executará na primeira execução do programa e irá gerar código nativo e otimizado especificamente para a plataforma onde ele está executando.

Perguntas similares