logo

Az elszigeteltség szigete Jáván

Java-ban az objektummegsemmisítésről a szemétgyűjtő modul és a rájuk hivatkozással nem rendelkező objektumok jogosultak a szemétgyűjtésre. A Garbage Collector képes azonosítani az ilyen típusú objektumokat. Most pedig beszéljük meg, mit is jelent pontosan az Elszigetelődés szigete a következők szerint:

  • Az 1. objektum a 2. objektumra és a 2. objektum hivatkozik az 1. objektumra. Sem az 1., sem a 2. objektumra nem hivatkozik semmilyen más objektum. Ez az elszigeteltség szigete.
  • Alapvetően az izolációs sziget olyan objektumok csoportja, amelyek hivatkoznak egymásra, de az alkalmazásban egyetlen aktív objektum sem hivatkozik rájuk. Szigorúan véve még egyetlen hivatkozás nélküli objektum is az elszigeteltség szigete.

Példa:



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

Kimenet:

ins kulcs
Az elszigeteltség szigete Jáván

Kimenet magyarázata:  

  • Egy objektum megsemmisítése előtt a Garbage Collector legfeljebb egyszer hívja meg a véglegesítési metódust az adott objektumon. Ez azért van, mert a fenti példában a finalize() metódust kétszer hívják meg, mert két objektum jogosult a szemétgyűjtésre. Ennek az az oka, hogy a t2=null végrehajtása után nincs külső hivatkozásunk a t1 és t2 objektumokra.
  • Csak belső hivatkozásaink vannak (amely például a Test osztály i változója) egymásra. Semmiképpen sem hívhatjuk meg mindkét objektum példányváltozóját. Tehát egyik objektum sem hívható újra addig ' t2.i  =  t1 '
Az elszigeteltség szigete Jáván
  • Mindkét objektumnak van külső referenciája t1 és t2.
  • t1 = nulla:Mindkét objektum elérhető a t2.i, illetve a t2-n keresztül.t2 = null:Semmilyen tárgyat nem lehet elérni. 
     

Most mindkét objektum jogosult a szemétszállításra semmiképpen sem hívhatjuk őket . Ezt közismerten Az elszigeteltség szigete.



karakterláncot karakterré alakítani