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
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 '

- Mindkét objektumnak van külső referenciája t1 és t2.
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