logo

Izoliacijos sala Javoje

Java objektų sunaikinimu rūpinasi šiukšlių surinkėjas modulis ir objektai, neturintys jokių nuorodų į juos, yra tinkami šiukšlių išvežimui. Šiukšlių surinkėjas gali atpažinti tokio tipo objektus. Dabar aptarkime, ką tiksliai reiškia Izoliacijos sala:

  • 1 objektas nurodo 2 objektą ir 2 objektą 1 objektą. Nei objektas 1, nei objektas 2 nenurodomi jokiais kitais objektais. Tai izoliacijos sala.
  • Iš esmės izoliacijos sala yra grupė objektų, kurie nurodo vienas į kitą, bet kurių nenurodo joks aktyvus programos objektas. Griežtai kalbant, net vienas nenurodytas objektas taip pat yra izoliacijos sala.

Pavyzdys:



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

Išvestis:

„bankininko algoritmas“
Izoliacijos sala Javoje

Išvesties paaiškinimas:  

  • Prieš sunaikindamas objektą, šiukšlių surinkėjas ne daugiau kaip vieną kartą iškviečia užbaigimo metodą. Taip yra todėl, kad anksčiau pateiktame pavyzdyje metodas finalize() iškviestas du kartus, nes du objektai yra tinkami šiukšlių rinkimui. Taip yra todėl, kad įvykdžius t2=null neturime jokių išorinių nuorodų į t1 ir t2 objektus.
  • Viskas, ką mes turime, yra tik vidinės nuorodos (kurios, pavyzdžiui, yra Testo klasės kintamasis i) į jas. Jokiu būdu negalime iškviesti abiejų objektų egzempliorių kintamųjų. Taigi nė vienas objektas negali būti iškviestas iki tol ' t2.i = t1 '
Izoliacijos sala Javoje
  • Abu objektai turi išorines nuorodas t1 ir t2.
  • t1 = nulis:Abu objektus galima pasiekti atitinkamai per t2.i ir t2.t2 = nulis:Jokiu būdu negalima pasiekti jokių objektų. 
     

Dabar abu objektai yra tinkami šiukšlių surinkimui kaip niekaip negalime jiems paskambinti . Tai populiariai žinoma kaip Izoliacijos sala.



gretimi kampai