Em um projeto que cria muitos objetos dinamicamente num algoritmo de simulação escolar, qual mecanismo…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um projeto que cria muitos objetos dinamicamente num algoritmo de simulação escolar, qual mecanismo automatiza a liberação de memória e previne vazamentos de variáveis não referenciadas?
- A) Coletor de lixo (garbage collector).
- B) Uso de ponteiros para gerenciar a memória manualmente.
- C) Reutilizar objetos sem verificar se estão acessíveis.
- D) Armazenar objetos em uma estrutura de array estático.
- E) Definir uma quantidade fixa de memória no início do programa.
✅ Resposta correta: alternativa A
Resolução passo a passo
- O enunciado pergunta qual mecanismo automatiza a liberação de memória de objetos criados dinamicamente e evita vazamentos de memória, ou seja, de objetos que não são mais referenciados pelo programa, mas continuam ocupando memória.
- Resolvendo por conta própria, o mecanismo que faz isso de forma automática é o coletor de lixo (garbage collector). Ele identifica objetos que não podem mais ser alcançados por nenhuma referência ativa e libera a memória correspondente, sem que o programador precise fazer isso manualmente.
- Por que as outras estão erradas:
- B) O gerenciamento manual com ponteiros exige que o próprio programador libere a memória, o que é justamente a fonte de vazamentos, e não a solução automática.
- C) Reutilizar objetos sem verificar se estão acessíveis pode causar erros de acesso e corrupção de dados, sem qualquer garantia de liberação de memória.
- D) Um array estático tem tamanho fixo e não cria objetos dinamicamente, portanto não resolve o problema de liberação de memória dinâmica.
- E) Definir uma quantidade fixa de memória no início não libera memória alguma durante a execução e não previne vazamentos de objetos não referenciados.
- Conclusão: a alternativa A está correta e coincide com o gabarito oficial.
💡 Dica: Pense sobre gerenciamento de memória em programação.
Alternativa por alternativa
O garbage collector identifica objetos inacessíveis (não referenciados) e libera sua memória automaticamente, evitando vazamentos causados por falta de desalocação manual.
O aluno imagina que, por controlar diretamente a memória com ponteiros, consegue evitar vazamentos com mais segurança. Esquece que a liberação manual é justamente o que o enunciado quer evitar automatizar.
Por que engana: Confundir a função do coletor de lixo com a gestão manual de memória, acreditando que o uso de ponteiros é sempre a melhor solução.
O aluno acredita que reaproveitar objetos já existentes economiza memória sem problemas, ignorando que é preciso saber se eles ainda estão acessíveis antes de reutilizá-los.
O aluno associa organização de dados em estrutura fixa a um controle eficiente de memória, sem perceber que um array estático não trata a criação e liberação dinâmica de objetos.
O aluno confunde reservar memória previamente com gerenciar memória, supondo que um limite fixo impede o acúmulo de objetos não usados durante a execução.
Raio-X da questão
gerenciamento de memória
avaliacao
gerenciamento de memória · programação orientada a objetos
Revisar conceitos de gerenciamento de memória e coleta de lixo em programação.
Confundir a função do coletor de lixo com a gestão manual de memória, acreditando que o uso de ponteiros é sempre a melhor solução.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- O que deve ser considerado ao criar um objeto em um programa de computador?
- Qual técnica de programação permite criar uma lista de itens em sequência, permitindo inserções e remoções de forma…
- Como a utilização de algoritmos pode otimizar a organização de objetos em um sistema?
- Em um algoritmo, como a organização de objetos pode otimizar a busca de informações?
- Em um algoritmo de agendamento com variáveis globais, ao aplicar decomposição para reduzir acoplamento entre módulos…
- Em um projeto de programação, a turma precisa criar uma solução para várias turmas da escola, com a mesma lógica, mas…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
