Pular para o conteúdo principal

Questão de Programação — Java — Quadrix 2025

ProgramaçãoJava
Código
qg595091
Banca
Quadrix
Órgão
CFO
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
Em relação às linguagens Java e PHP, julgue o item a seguir.A compilação de código em linguagens como Java resulta em bytecode que é interpretado pela JVM, enquanto o PHP é interpretado diretamente sem a necessidade de uma fase de compilação, o que pode levar a um desempenho menor, mas, por outro lado, teremos mais facilidades de depuração.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

Java e PHP: compilação, bytecode e interpretação

Gabarito: C — CERTO. A afirmação está correta: Java compila o código-fonte para bytecode, que é executado pela JVM (máquina virtual), enquanto o PHP é uma linguagem interpretada, sem fase de compilação para bytecode — o que tende a gerar desempenho inferior, mas facilita a depuração. Essa é a distinção clássica entre linguagens compiladas e interpretadas, e o item a descreve com precisão.

Para entender por que o item está certo, é preciso dominar a diferença entre compilação e interpretação. Na compilação, o código-fonte é traduzido integralmente para uma linguagem de máquina (ou para um código intermediário) antes da execução. Na interpretação, o código é traduzido e executado linha por linha, em tempo de execução, sem uma etapa prévia de geração de um arquivo executável.

Java é um caso híbrido: o compilador javac traduz o código-fonte (.java) para bytecode (.class), um código intermediário independente de plataforma. Esse bytecode é então executado pela JVM (Java Virtual Machine), que o interpreta ou o compila em tempo de execução usando a técnica JIT (Just-In-Time). É por isso que se diz que Java é portável: o mesmo bytecode roda em qualquer sistema que tenha uma JVM.

O PHP, por sua vez, é tradicionalmente uma linguagem interpretada: o código-fonte é lido e executado diretamente pelo interpretador PHP, sem uma fase de compilação para um código intermediário. Isso significa que, a cada execução, o interpretador analisa e executa o código, o que tende a ser mais lento do que executar código já compilado. Por outro lado, a ausência de uma etapa de compilação torna a depuração mais direta, pois os erros são reportados em tempo de execução, no próprio ambiente de desenvolvimento.

A pegadinha que a banca poderia explorar aqui é inverter os papéis: afirmar que Java é interpretado diretamente ou que PHP é compilado para bytecode. O item, no entanto, acerta ao descrever Java como compilado para bytecode interpretado pela JVM e PHP como interpretado diretamente, com as consequências de desempenho e depuração corretamente associadas.

PEGA ESSA DICA!

Para questões que comparam linguagens, monte uma tabela mental com os critérios: forma de execução (compilada, interpretada ou híbrida), existência de código intermediário, portabilidade e desempenho. Java é híbrida (compila para bytecode e interpreta na JVM); PHP é interpretada. Essa distinção é recorrente em provas de programação.

Critério

Java

PHP

Forma de execução

Compilada para bytecode, interpretado pela JVM

Interpretada diretamente, sem compilação prévia

Código intermediário

Sim (bytecode .class)

Não

Desempenho

Maior (com JIT)

Menor (interpretação em tempo de execução)

Facilidade de depuração

Menor (erros em tempo de execução, após compilação)

Maior (erros reportados diretamente na execução)

Item — ✅ Correto

A afirmação está correta em todos os seus elementos:

  1. Java compila para bytecode interpretado pela JVM: o compilador javac gera o arquivo .class com bytecode, que é executado pela JVM. A JVM pode interpretar o bytecode ou usar compilação JIT para melhorar o desempenho.

  2. PHP é interpretado diretamente: o interpretador PHP executa o código-fonte sem uma fase de compilação para bytecode, o que é característico de linguagens interpretadas.

  3. Desempenho menor: programas interpretados tendem a ser mais lentos que os compilados, pois a tradução ocorre em tempo de execução.

  4. Facilidade de depuração: em linguagens interpretadas, os erros são detectados e reportados durante a execução, o que facilita o processo de depuração, já que não há uma etapa de compilação separada.

O item não contém nenhuma inversão ou imprecisão. Ele descreve corretamente o modelo de execução de ambas as linguagens e as consequências práticas dessa diferença.

Gabarito: C — CERTO.

Link permanente: /questoes/qg595091