logo

Izolācijas sala Java

Java par objektu iznīcināšanu rūpējas atkritumu savācējs modulis un objekti, kuriem nav atsauces uz tiem, ir piemēroti atkritumu savākšanai. Atkritumu savācējs spēj identificēt šāda veida objektus. Tagad apspriedīsim, ko tieši nozīmē Izolācijas sala:

  • Objekts 1 atsaucas uz objektu 2 un objekts 2 atsaucas uz objektu 1. Ne uz objektu 1, ne uz objektu 2 nav atsauces neviens cits objekts. Tā ir izolācijas sala.
  • Būtībā izolācijas sala ir objektu grupa, kas atsaucas viens uz otru, bet uz kuriem neattiecas neviens aktīvs objekts lietojumprogrammā. Stingri sakot, pat viens objekts bez atsauces ir arī izolācijas sala.

Piemērs:



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

Izvade:

struktūras, izmantojot masīvus c
Izolācijas sala Java

Izvades skaidrojums:  

  • Pirms objekta iznīcināšanas atkritumu savācējs ne vairāk kā vienu reizi šim objektam izsauc pabeigšanas metodi. Tas ir tāpēc, ka iepriekšējā piemērā metode finalize() tiek izsaukta divas reizes, jo divi objekti ir piemēroti atkritumu savākšanai. Tas ir tāpēc, ka pēc t2=null izpildes mums nav nekādu ārēju atsauču uz t1 un t2 objektiem.
  • Viss, kas mums ir, ir tikai iekšējās atsauces (kas, piemēram, ir klases Test mainīgais i) uz tām. Nekādā veidā mēs nevaram izsaukt abu objektu gadījumu mainīgo. Tātad neviens no objektiem nevar tikt atkārtoti izsaukts līdz ' t2.i = t1 '
Izolācijas sala Java
  • Abiem objektiem ir ārējās atsauces t1 un t2.
  • t1 = nulle:Abus objektus var sasniegt, izmantojot attiecīgi t2.i un t2.t2 = nulle:Nav iespējas sasniegt nevienu no objektiem. 
     

Tagad abi objekti ir piemēroti atkritumu savākšanai kā mēs nekādi nevaram viņus nosaukt . Tas ir tautā pazīstams kā Izolācijas sala.



java noklusējuma parametri