ExpertiDict

Java · Avançado · Inglês · Técnico

weak reference

/wiːk ˈrɛfərəns/substantivo

Referência que não impede o coletor de liberar o objeto. Se só existirem referências fracas a ele, o GC pode recolhê-lo e get() passa a devolver null.

Onde usar

Aparece em caches e mapas de listeners: WeakHashMap evita vazamento quando a chave deixa de ser usada.

Em código

var ref = new WeakReference<>(new byte[1024]);
System.gc();
// get() pode ser null depois do GC
byte[] dados = ref.get();
if (dados == null) {
  System.out.println("coletado");
}

Exemplos

Hold the listener through a weak reference to avoid a leak.

Segure o listener por uma referência fraca para evitar vazamento.

After a GC, the weak reference may return null.

Depois de um GC, a referência fraca pode devolver null.

Cuidado

Não use para cache de desempenho: o GC pode limpar a qualquer coleta; use um cache com política, como o Caffeine.

Sinônimos

referência fraca

Antônimos

referência forte

Veja também

Todos os termos de Java