Questão de Arquitetura de Software — Arquitetura de Software — Instituto Legalle 2026
Arquitetura de Software›Arquitetura de Software
Código
qg747496
Banca
Instituto Legalle
Órgão
BADESUL - RS
Ano
2026
Nível
Superior
Cargo
Técnico em Desenvolvimento - Analista de Sistemas (Ênfase em Arquiteto de Software)
No contexto do desenvolvimento de sistemas em Java, um Analista de Sistemas está analisando o funcionamento interno da JVM (Java Virtual Machine) para otimizar o desempenho de uma aplicação crítica de uma agência de fomento. Durante a execução do programa, observou-se que parte do código bytecode é convertida dinamicamente para código nativo, visando melhorar a performance em tempo de execução, especialmente em trechos frequentemente utilizados. Considerando os componentes da JVM, assinale a alternativa que indica CORRETAMENTE o responsável por realizar essa compilação para código nativo.
AInterpreter.
BBytecode Verifier.
CExtension.
DBootstrap.
EJIT (Just-In-Time).
Revelar gabarito e comentário▾
GabaritoE — JIT (Just-In-Time).
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
JVM: Compilação JIT (Just-In-Time)
Gabarito: letra E. O componente responsável por converter bytecode em código nativo durante a execução, visando melhorar a performance de trechos frequentemente utilizados, é o compilador JIT (Just-In-Time). As demais alternativas descrevem outros componentes da JVM com funções distintas: o interpretador executa bytecode linha a linha, o verificador de bytecode valida a segurança, e Extension e Bootstrap são carregadores de classes.
Componentes da JVM: Execução (Interpreter (linha a linha), JIT (compila bytecode → nativo)); Segurança (Bytecode Verifier (valida)); Carregamento de classes (Bootstrap (classes fundamentais), Extension (extensões))
Alternativa A — ❌ Incorreta
O Interpreter (interpretador) executa o bytecode de forma interpretada, convertendo cada instrução para código nativo sob demanda, mas sem pré-compilação para otimização. Ele não realiza a compilação dinâmica para código nativo de trechos frequentes como o JIT faz. A interpretação pura é geralmente mais lenta que a execução compilada.
Alternativa B — ❌ Incorreta
O Bytecode Verifier (verificador de bytecode) é responsável por checar a integridade e segurança do bytecode antes da execução, garantindo que não viole regras da JVM. Ele não compila código; apenas valida.
Alternativa C — ❌ Incorreta
Extension (carregador de classes de extensão) é um tipo de class loader que carrega classes do diretório de extensão (lib/ext). Sua função é localizar e carregar classes, não compilar bytecode.
Alternativa D — ❌ Incorreta
Bootstrap (carregador de classes bootstrap) é o class loader raiz que carrega as classes fundamentais da JVM (como java.lang.*). Ele não realiza compilação JIT.
Alternativa E — ✅ Correta ⟵ GABARITO
O JIT (Just-In-Time) compiler é o componente da JVM que compila bytecode para código nativo em tempo de execução, especialmente para métodos ou blocos frequentemente executados (hot spots). Isso acelera a execução ao evitar reinterpretação contínua e é essencial para a performance de aplicações Java. A descrição do enunciado — "código bytecode é convertida dinamicamente para código nativo" — corresponde exatamente à função do JIT.