logo

Otok izolacije na Javi

U Javi se za uništavanje objekata brine sakupljač smeća modul i objekti koji nemaju nikakve reference na njih prihvatljivi su za skupljanje smeća. Garbage Collector je sposoban identificirati ovu vrstu objekta. Raspravljajmo sada o tome što točno predstavlja Otok izolacije na sljedeći način:

  • Objekt 1 referira na Objekt 2, a Objekt 2 na Objekt 1. Ni jedan drugi objekt ne referencira niti Objekt 1 niti Objekt 2. To je otok izolacije.
  • U osnovi, otok izolacije je grupa objekata koji referenciraju jedni druge, ali ih ne referencira niti jedan aktivni objekt u aplikaciji. Strogo govoreći, čak je i jedan nereferencirani objekt također otok izolacije.

Primjer:



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

Izlaz:

kako ponoviti u photoshopu
Otok izolacije na Javi

Objašnjenje izlaza:  

  • Prije uništavanja objekta Garbage Collector poziva metodu finalize najviše jednom na tom objektu. To je zato što je metoda finalize() pozvana dva puta u gornjem primjeru zato što su dva objekta prikladna za sakupljanje smeća. To je zato što nemamo nikakve vanjske reference na t1 i t2 objekte nakon izvršavanja t2=null.
  • Sve što imamo su samo interne reference (koje su u varijabli instance i klase Test) međusobno. Ne postoji način na koji možemo nazvati varijablu instance oba objekta. Dakle, nijedan od objekata ne može se ponovno pozvati do ' t2.i  =  t1 '
Otok izolacije na Javi
  • Oba objekta imaju vanjske reference t1 i t2.
  • t1 = nula:Do oba objekta se može doći putem t2.i odnosno t2.t2 = nula:Nema načina da dođete do bilo kojeg objekta. 
     

Sada su oba objekta prikladna za odvoz smeća nema šanse da ih možemo nazvati . Ovo je popularno poznato kao Otok izolacije.



spajanje java nizova