logo

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:

teoria dels autòmats
Illa de l'aïllament a Java

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'aïllament a Java
  • 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.



java per descansar