English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Quais são as maneiras de fazer um objeto atender às condições de GC no Java?

O processo de destruição de objetos não referenciados é chamado deColeta de Lixo (GC). Assim que o objeto for desreferenciado, ele será considerado um objeto não utilizado, portantoO JVM fará Destrói automaticamente o objeto.

Existem várias maneiras de tornar um objeto elegível para GC.

Ao cancelar a referência do objeto

Uma vez atingido o objetivo de criação do objeto, podemos definir todas as referências de objeto disponíveis como “ null

Exemplo

public class GCTest1 {
   public static void main(String [] args){
      String str = ": Bem-vindo ao w3codebox"; // O objeto String referenciado pela variável str e ele ainda não é elegível para GC.
      str = null; // O objeto String referenciado pela variável str é elegível para GC.
      System.out.println("str elegível para GC: ") + str);
   }
}

Resultados de Saída

str elegível para GC: null


Ao reatribuir a variável de referência para outro objeto

Podemos fazer com que a variável de referência aponte para outro objeto. Desligamos a referência da variável do objeto e a definimos para referenciar outro objeto, portanto, o objeto antes referenciado pode ser usado pelo GC.

Exemplo

public class GCTest2 {
   public static void main(String [] args){
      String str1 = ": Bem-vindo ao w3codebox";
      String str2 = ": Bem-vindo ao Tutorix"; // Objeto String referenciado pela variável str1 e str2 e ainda não é elegível para GC.
      str1 = str2; // Objeto String referenciado pela variável str1 é elegível para GC.
      System.out.println("str1: " + str1);
   }
}

Resultados de Saída

str1: Bem-vindo ao Tutorix
Gostaria de Ver Mais