Illa de l'aïllament a Java

Illa de l'aïllament a Java

A Java, la destrucció d'objectes s'encarrega de recollida d'escombraries el mòdul i els objectes que no hi tenen cap referència són elegibles per a la recollida d'escombraries. Garbage Collector és capaç d'identificar aquest tipus d'objecte. Ara anem a discutir què significa exactament l'illa de l'aïllament de la següent manera:

  • L'objecte 1 fa referència a l'objecte 2 i l'objecte 2 fan referència a l'objecte 1. Cap altre objecte no fa referència a l'objecte 1 ni a l'objecte 2. Això és una illa d'aïllament.
  • Bàsicament, una illa d'aïllament és un grup d'objectes que es refereixen entre si, però que cap objecte actiu de l'aplicació no fa referència. En sentit estricte, fins i tot un únic objecte sense referència també és una illa d'aïllament.

Exemple:

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'  );      }   }   

Sortida:

Illa de l

Explicació de la sortida:  

  • Abans de destruir un objecte, Garbage Collector crida al mètode finalize com a màxim una vegada en aquest objecte. És perquè el mètode finalize() es crida dues vegades a l'exemple anterior és perquè dos objectes són aptes per a la recollida d'escombraries. Això es deu al fet que no tenim cap referència externa als objectes t1 i t2 després d'executar t2=null.
  • Tot el que tenim són només referències internes (que és, per exemple, la variable i de la classe Test) entre elles. No hi ha manera que puguem anomenar variable d'instància d'ambdós objectes. Per tant, cap dels objectes es pot tornar a cridar fins ' t2.i  =  t1 '
Illa de l
  • Tots dos objectes tenen referències externes t1 i t2.
  • t1 = zero: Es pot arribar als dos objectes mitjançant t2.i i t2 respectivament. t2 = nul: No hi ha manera d'arribar a cap dels objectes. 
     

Ara els dos objectes són aptes per a la recollida d'escombraries com no hi ha manera de dir-los . Això es coneix popularment com Illa de l'Aïllament.