logo

Island of Isolation i Java

I Java blir objektdestruksjon tatt hånd om av søppelsamler modulen og objektene som ikke har noen referanser til dem er kvalifisert for søppelhenting. Garbage Collector er i stand til å identifisere denne typen objekter. La oss nå diskutere hva den nøyaktige Island of Isolation står for som følger:

  • Objekt 1 referanser Objekt 2 og Objekt 2 referanser Objekt 1. Verken Objekt 1 eller Objekt 2 er referert av noe annet objekt. Det er en øy av isolasjon.
  • I utgangspunktet er en øy med isolasjon en gruppe objekter som refererer til hverandre, men som ikke refereres til av noe aktivt objekt i applikasjonen. Strengt tatt er selv et enkelt ikke-referert objekt også en øy av isolasjon.

Eksempel:



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

Produksjon:

byte array til streng java
Island of Isolation i Java

Utgangsforklaring:  

  • Før du ødelegger et objekt, kaller Garbage Collector sluttbehandlingsmetoden maksimalt én gang på det objektet. Det er fordi finalize()-metoden kalles to ganger i eksemplet ovenfor, fordi to objekter er kvalifisert for søppelinnsamling. Dette er fordi vi ikke har noen eksterne referanser til t1- og t2-objekter etter å ha kjørt t2=null.
  • Alt vi har er bare interne referanser (som for eksempel er variabel i av klasse Test) til dem av hverandre. Det er ingen måte vi kan kalle en instansvariabel for begge objektene. Så ingen av objektene kan kalles igjen til ' t2.i  =  t1 '
Island of Isolation i Java
  • Begge objektene har eksterne referanser t1 og t2.
  • t1 = null :Begge objektene kan nås via henholdsvis t2.i og t2.t2 = null:Ingen måte å nå noen av objektene. 
     

Nå er begge gjenstandene kvalifisert for søppeltømming som det er ingen måte vi kan kalle dem . Dette er populært kjent som Isolasjonens øy.



hvordan åpne skjulte apper på Android