Izoliacijos sala Javoje

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:



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.


Top Straipsniai

Kategorija

Įdomios Straipsniai