Wann ist ein Objekt für einen Garbage Collector geeignet?

Betrachten Sie diesen Beispielcode:

1.  public class GC {
2.      private Object o;
3.      private void doSomethingElse(Object obj) { o = obj; }
4.      public void doSomething() {
5.          Object o = new Object();
6.          doSomethingElse(o);
7.          o = new Object();
8.          doSomethingElse(null);
9.          o = null;
10.     }
11. }

Wenn die Methode doSomething aufgerufen wird, steht nach welcher Zeile das in Zeile 5 erstellte Objekt für die Garbage Collection zur Verfügung?

A. Linie 5

B. Linie 6

C. Linie 7

D. Linie 8

E. Linie 9

F. Linie 10

Antwort: D

warum d? Wenn Zeile 6 ausgeführt wird, wird das in Zeile 5 erstellte Objekt jetzt von der Instanz var o und der lokalen var o referenziert. Wenn Zeile 8 ausgeführt wird, wird das Objekt jetzt nur von der lokalen ref var o referenziert. Warum also die Antwort? ist D und was passiert, nachdem Zeile 9 ausgeführt wurde? Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage