Sobes.tech
Junior — Middle

Consegues nomear os tipos de referências usados em Java para gerir objetos?

sobes.tech IA

Resposta da IA

Em Java, para gerir objetos e a sua recolha de lixo, são utilizados diferentes tipos de referências que determinam por quanto tempo um objeto estará acessível e quando pode ser eliminado pelo coletor de lixo:

  • Referência Forte (Strong Reference) — uma referência normal a um objeto. Enquanto essa referência existir, o objeto não será eliminado.
  • Referência Suave (Soft Reference) — objetos com esse tipo de referência são eliminados apenas quando há falta de memória, útil para caching.
  • Referência Fraca (Weak Reference) — objetos com esse tipo de referência podem ser eliminados no próximo ciclo de recolha de lixo, mesmo que a referência ainda exista.
  • Referência Fantasma (Phantom Reference) — usada para rastrear o momento em que um objeto está pronto para ser eliminado, mas ainda não foi. Permite realizar ações adicionais após a eliminação do objeto.

Exemplo de criação de uma referência fraca:

import java.lang.ref.WeakReference;

Object obj = new Object();
WeakReference<Object> weakRef = new WeakReference<>(obj);
obj = null; // Agora o objeto está disponível para a recolha de lixo