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