Logo Passei Direto
Buscar
Leia o texto a seguir: “A versão inicial do interpretador Java, chamado de Máquina Virtual Java (JVM), era ao menos 10 vezes mais lenta que os programas compilados em C equivalentes. Entretanto, muitos programas Java são agora traduzidos para código de máquina antes de serem executados, por meio de compiladores Just-in-Time (JIT). Isso torna a eficiência dos programas Java competitiva com a de programas escritos em linguagens compiladas de forma convencional, como C++ (...)” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018.
Considerando o trecho acima, avalie as afirmações a seguir:
I. O compilador JIT gera bytecode para ser interpretado pela máquina virtual.
II. O compilador JIT transforma bytecode em binário nativo na hora da execução.
III. O código gerado pela JIT é interpretado de maneira eficiente o suficiente para ser competitivo com códigos compilados.
II e III, apenas.
III, apenas.
I, apenas.
I e III, apenas.
II, apenas.
User badge image
Exercícios Para o Conhecimento

anteontem

Respostas

User badge image

Ed Verified user icon

anteontem

Vamos analisar cada uma das afirmações: I. O compilador JIT gera bytecode para ser interpretado pela máquina virtual. Falso. O bytecode já é gerado pelo compilador Java antes da execução. O compilador JIT não gera bytecode, mas sim converte o bytecode em código de máquina nativo. II. O compilador JIT transforma bytecode em binário nativo na hora da execução. Verdadeiro. Essa afirmação está correta, pois o compilador JIT realmente converte o bytecode em código binário nativo durante a execução do programa. III. O código gerado pela JIT é interpretado de maneira eficiente o suficiente para ser competitivo com códigos compilados. Verdadeiro. Essa afirmação também está correta, pois o código gerado pelo JIT é otimizado para ser executado de forma eficiente, tornando-se competitivo com códigos compilados em linguagens como C++. Com base nas análises, as afirmações II e III são verdadeiras. Portanto, a alternativa correta que contém todos os itens verdadeiros é: "II e III, apenas."

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Leia o texto a seguir: “WebAssembly é um novo tipo de código que pode ser executado nos browsers modernos e fornece novas características e maiores ganhos em performance. Ele não foi pensado incialmente para ser escrito à mão, ao contrário, foi pensado para ser um alvo eficiente de compilação para linguagens de baixo nível como C, C++, Rust etc. Ele possui implicações enormes para a plataforma web — ele fornece um caminho para executar códigos escritos em múltiplas linguagens na web, com velocidades próximas às das linguagens nativas com apps sendo executados na web, onde antes não era possível. (...) Historicamente, a VM tem tido permissão para carregar apenas JavaScript. (...) Com o advento do WebAssembly nos browsers, a máquina virtual a que nos referimos antes, vai carregar e executar dois tipos de código — JavaScript e WebAssembly.” Fonte: CONTRIBUTORS, Mozilla. Conceitos do WebAssembly. MDN Web Docs. Disponível em . Acesso em 02 set 2021.
Considerando as informações apresentadas, assinale a opção correta:
Linguagens de baixo nível, como C, C++ e Rust, podem ser compiladas diretamente para WebAssembly.
Somente linguagens de alto nível podem ser compiladas diretamente para WebAssembly.
A partir de agora, qualquer linguagem pode ser utilizada para a programação WebAssembly.
Linguagens como C, C++ e Rust devem ser exclusivamente compiladas para WebAssembly.
Linguagens como C, C++ e Rust devem ser compiladas para JavaScript, e depois para WebAssembly.

Mais conteúdos dessa disciplina