Острво изолације на Јави

Острво изолације на Јави

У Јави за уништавање објеката брине се сакупљач смећа модул и објекти који немају никакве референце на њих су подобни за сакупљање смећа. Гарбаге Цоллецтор је у стању да идентификује ову врсту објекта. Хајде сада да размотримо шта тачно означава Острво изолације на следећи начин:

  • Објекат 1 упућује на објекат 2, а објекат 2. на објекат 1. Ни на објекат 1 ни на објекат 2 не упућује ниједан други објекат. То је острво изолације.
  • У основи, острво изолације је група објеката који се међусобно позивају, али на њих не упућује ниједан активни објекат у апликацији. Строго говорећи, чак и један нереференцирани објекат је такође острво изолације.

Пример:

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

Излаз:



Острво изолације на Јави

Објашњење излаза:  

  • Пре уништавања објекта Гарбаге Цоллецтор позива метод финализе највише једном на том објекту. То је зато што се метода финализе() позива два пута у горњем примеру зато што два објекта испуњавају услове за сакупљање смећа. То је зато што немамо никакве екстерне референце на т1 и т2 објекте након извршења т2=нулл.
  • Све што имамо су само интерне референце (која је у променљивој инстанце и класе Тест) на њих једна другу. Не постоји начин да позовемо променљиву инстанце оба објекта. Дакле, ниједан од објеката се не може поново позвати до ' т2.и  =  т1 '
Острво изолације на Јави
  • Оба објекта имају екстерне референце т1 и т2.
  • т1 = нула: До оба објекта се може доћи преко т2.и и т2 респективно. т2 = нулл: Нема начина да дођете до било којег од објеката. 
     

Сада су оба објекта подобна за одлагање смећа као никако да их позовемо . Ово је популарно познато као Острво изолације.


Топ Чланци

Категорија

Занимљиви Чланци