logo

Ostrov izolácie na Jáve

V jazyku Java sa o ničenie objektov stará zberač odpadu modul a objekty, ktoré na ne nemajú žiadne odkazy, sú vhodné na zber odpadu. Garbage Collector je schopný identifikovať tento typ objektu. Teraz poďme diskutovať o tom, čo presne znamená Island of Isolation takto:

  • Objekt 1 odkazuje na objekt 2 a objekt 2 odkazuje na objekt 1. Ani objekt 1, ani objekt 2 neodkazuje žiadny iný objekt. To je ostrov izolácie.
  • Ostrov izolácie je v podstate skupina objektov, ktoré sa navzájom odkazujú, ale neodkazuje sa na ne žiadny aktívny objekt v aplikácii. Presne povedané, dokonca aj jeden nereferencovaný objekt je tiež ostrovom izolácie.

Príklad:



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

výstup:

náhodný v c
Ostrov izolácie na Jáve

Vysvetlenie výstupu:  

  • Pred zničením objektu Garbage Collector volá metódu finalize maximálne raz na tomto objekte. Je to preto, že metóda finalize() sa vo vyššie uvedenom príklade volá dvakrát, pretože dva objekty sú vhodné na zber odpadu. Je to preto, že po vykonaní t2=null nemáme žiadne externé odkazy na objekty t1 a t2.
  • Všetko, čo máme, sú iba interné odkazy (čo je napríklad premenná i triedy Test) na seba navzájom. Neexistuje spôsob, ako môžeme nazvať premennú inštancie oboch objektov. Takže žiadny z objektov nemožno znova vyvolať ' t2.i  =  t1 '
Ostrov izolácie na Jáve
  • Oba objekty majú externé referencie t1 a t2.
  • t1 = nula:Oba objekty je možné dosiahnuť cez t2.i a t2.t2 = null:Žiadny spôsob, ako dosiahnuť niektorý z objektov. 
     

Teraz sú oba objekty vhodné na zber odpadu neexistuje spôsob, ako ich môžeme zavolať . Toto je ľudovo známe ako Ostrov izolácie.



predvolené parametre java