Pular para o conteúdo principal

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

ProgramaçãoJava
Código
qg595094
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 administração de memória em Java é automatizada pelo sistema de garbage collection, que identifica e libera a memória ocupada por objetos que não são mais referenciados, evitando‑se vazamentos de memória.
  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”.

Garbage Collection em Java

Gabarito: C — CERTO. A afirmação está correta: a administração de memória em Java é automatizada pelo garbage collector (coletor de lixo), que identifica e libera a memória ocupada por objetos que não são mais referenciados, reduzindo a ocorrência de vazamentos de memória. Esse é um dos pilares do design da linguagem, que difere de linguagens como C e C++, onde a liberação de memória é manual.

O garbage collection (GC) é um mecanismo da JVM (Java Virtual Machine) que gerencia automaticamente o ciclo de vida dos objetos no heap. Quando um objeto não é mais alcançável a partir de qualquer referência ativa no programa, ele se torna elegível para coleta. O GC então libera a memória ocupada por esse objeto, tornando-a disponível para novas alocações. Esse processo é fundamental para evitar memory leaks (vazamentos de memória), embora não os elimine completamente — vazamentos ainda podem ocorrer se referências desnecessárias forem mantidas por engano.

A filosofia de design do Java gira em torno da suposição de um coletor de lixo. Ao contrário de linguagens como C++ e Rust, o gerenciamento determinístico de memória através de uma palavra-chave delete (como no C++) não é possível. Mesmo introduzir tal recurso não seria viável, devido à falta de propriedade (ownership), exceto pelo uso de sun.misc.Unsafe ou através da java.lang.foreign para alocar/desalocar memória fora do heap Java. Como o Java utiliza principalmente a alocação baseada em heap, os objetos são armazenados como referências, e a exclusão manual resultaria em ponteiros pendentes.

Na prática, o programador Java não precisa (e não deve) liberar memória explicitamente. Basta que ele deixe de referenciar um objeto — por exemplo, atribuindo null a uma variável ou saindo do escopo — e o GC cuidará da liberação em algum momento futuro. Existem vários coletores de lixo disponíveis na JVM, como Serial, Parallel, CMS, G1, ZGC, entre outros, cada um com características específicas de throughput, pausa e uso de memória.

A pegadinha que a banca poderia explorar é a palavra "evitando-se vazamentos de memória". O GC reduz a ocorrência de vazamentos, mas não os elimina por completo. Se o programador mantiver referências desnecessárias (por exemplo, em coleções estáticas), o objeto nunca será coletado, caracterizando um vazamento. No entanto, a afirmação usa "evitando-se", que é uma expressão razoável e não absoluta, portanto o item está correto.

Guarde a distinção: Java gerencia memória automaticamente via GC, enquanto C/C++ exigem gerenciamento manual. É exatamente essa fronteira que separa o certo do errado em questões sobre este tema.

1O que é
Mecanismo da JVM
Gerencia ciclo de vida no heap
2Como funciona
Objeto sem referência ativa
Torna-se elegível para coleta
GC libera a memória
3Efeitos
Automatiza administração de memória
Reduz vazamentos (memory leaks)
Não elimina por completo
4Comparação
Java: automático (GC)
C/C++: manual (delete)
Garbage Collection (Java)
LEVELsoulevel.com.br
Garbage Collection (Java): O que é (Mecanismo da JVM, Gerencia ciclo de vida no heap); Como funciona (Objeto sem referência ativa, Torna-se elegível para coleta, GC libera a memória); Efeitos (Automatiza administração de memória, Reduz vazamentos (memory leaks), Não elimina por completo); Comparação (Java: automático (GC), C/C++: manual (delete))

Alternativa C — ✅ Correta ⟵ GABARITO

A afirmação descreve com precisão o funcionamento do garbage collection em Java. O GC é um componente da JVM que identifica objetos sem referências ativas e libera a memória por eles ocupada, automatizando a administração de memória e reduzindo o risco de vazamentos. Isso está alinhado com a filosofia de design do Java, que assume a presença de um coletor de lixo, ao contrário de linguagens como C++, onde a liberação é manual.

Alternativa E — ❌ Incorreta

A alternativa E afirma que o item está errado, mas o item está correto. Não há erro conceitual na afirmação: o GC realmente automatiza a administração de memória, identifica objetos não referenciados e libera a memória, evitando (na prática, reduzindo) vazamentos. Portanto, a alternativa E é falsa.

Gabarito: letra C

Link permanente: /questoes/qg595094