Insel der Isolation in Java

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:



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.


Top Artikel

Kategorie

Interessante Artikel