Wann ist das Objekt für die Garbage Collection geeignet?

Im Code unten gegeben, dassamethod genannt worden. An welcher Stelle / Linie wird das Objekt ursprünglich von referenziert?myObject, berechtigt zur Garbage Collection?

class Test {
  private Object classObject;

  public void amethod() {
    Object myObject = new Object();
    classObject = myObject;
    myObject = null;
  }
}

Und wennclassObject oderamethod Wenn der Zugriffsmodifikator public, protected, default oder static ist, hat dies Auswirkungen auf den Punkt, an dem das Objekt für die Garbage Collection berechtigt ist. Wenn ja, wie wäre es betroffen?

Mein erster Gedanke ist, dass das Objekt zur Garbage Collection berechtigt ist, wenn das Testobjekt zur Garbage Collection berechtigt ist.Aber dann wieder. Der Optimierer weiß möglicherweise, dass in diesem Fall das classObject nie gelesen wirdclassObject = myObject; optimiert werden undmyObject = null; ist der Punkt, an dem es für die Garbage Collection in Frage kommt.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage