logo

Insel der Isolation in Java

In Java wird die Zerstörung von Objekten von durchgeführt Müllsammler Modul und die Objekte, die keine Verweise auf sie haben, sind für die Garbage Collection geeignet. Garbage Collector ist in der Lage, diesen Objekttyp zu identifizieren. Lassen Sie uns nun wie folgt besprechen, wofür die Insel der Isolation genau steht:

  • Objekt 1 referenziert Objekt 2 und Objekt 2 referenziert Objekt 1. Weder Objekt 1 noch Objekt 2 werden von einem anderen Objekt referenziert. Das ist eine Insel der Isolation.
  • Im Grunde handelt es sich bei einer isolierten Insel um eine Gruppe von Objekten, die aufeinander verweisen, auf die aber kein aktives Objekt in der Anwendung verweist. Streng genommen ist auch ein einzelnes, nicht referenziertes Objekt eine Insel der Isolation.

Beispiel:



Java
// Java Program to Illustrate Island of Isolation // Main class public class GFG {  GFG i;  // Method 1  // Main driver method  public static void main(String[] args)  {  // Creating object of class inside main() method  GFG t1 = new GFG();  GFG t2 = new GFG();  // Object of t1 gets a copy of t2  t1.i = t2;  // Object of t2 gets a copy of t1  t2.i = t1;  // Till now no object eligible  // for garbage collection  t1 = null;  // Now two objects are eligible for  // garbage collection  t2 = null;  // Calling garbage collector  System.gc();  }  // Method 2  // overriding finalize() Method  @Override protected void finalize() throws Throwable  {  // Print statement  System.out.println('Finalize method called');  } } 

Ausgabe:

Ganzzahl im Vergleich zu Java
Insel der Isolation in Java

Ausgabeerklärung:  

  • Vor der Zerstörung eines Objekts ruft der Garbage Collector die Methode finalize für dieses Objekt höchstens einmal auf. Das liegt daran, dass die finalize()-Methode im obigen Beispiel zweimal aufgerufen wird, weil zwei Objekte für die Garbage Collection in Frage kommen. Dies liegt daran, dass wir nach der Ausführung von t2=null keine externen Verweise auf t1- und t2-Objekte haben.
  • Alles, was wir haben, sind nur interne Verweise (die in der Instanzvariable i der Klasse Test sind) aufeinander. Es gibt keine Möglichkeit, Instanzvariablen beider Objekte aufzurufen. Daher kann bis dahin keines der Objekte erneut aufgerufen werden ' t2.i  =  t1 '
Insel der Isolation in Java
  • Beide Objekte haben externe Referenzen t1 und t2.
  • t1 = Null :Beide Objekte sind über t2.i bzw. t2 erreichbar.t2 = null:Keine Möglichkeit, eines der Objekte zu erreichen. 
     

Jetzt sind beide Objekte für die Garbage Collection geeignet Wir können sie auf keinen Fall anrufen . Dies ist im Volksmund bekannt als Insel der Isolation.



Zeichenfolge von int