Java objektų sunaikinimu rūpinasi šiukšlių surinkėjas modulis ir objektai, neturintys jokių nuorodų į juos, yra tinkami šiukšlių išvežimui. Šiukšlių surinkėjas gali atpažinti tokio tipo objektus. Dabar aptarkime, ką tiksliai reiškia Izoliacijos sala:
- 1 objektas nurodo 2 objektą ir 2 objektą 1 objektą. Nei objektas 1, nei objektas 2 nenurodomi jokiais kitais objektais. Tai izoliacijos sala.
- Iš esmės izoliacijos sala yra grupė objektų, kurie nurodo vienas į kitą, bet kurių nenurodo joks aktyvus programos objektas. Griežtai kalbant, net vienas nenurodytas objektas taip pat yra izoliacijos sala.
Pavyzdys:
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'); } }
Išvestis:
„bankininko algoritmas“
Išvesties paaiškinimas:
- Prieš sunaikindamas objektą, šiukšlių surinkėjas ne daugiau kaip vieną kartą iškviečia užbaigimo metodą. Taip yra todėl, kad anksčiau pateiktame pavyzdyje metodas finalize() iškviestas du kartus, nes du objektai yra tinkami šiukšlių rinkimui. Taip yra todėl, kad įvykdžius t2=null neturime jokių išorinių nuorodų į t1 ir t2 objektus.
- Viskas, ką mes turime, yra tik vidinės nuorodos (kurios, pavyzdžiui, yra Testo klasės kintamasis i) į jas. Jokiu būdu negalime iškviesti abiejų objektų egzempliorių kintamųjų. Taigi nė vienas objektas negali būti iškviestas iki tol ' t2.i = t1 '

- Abu objektai turi išorines nuorodas t1 ir t2.
Dabar abu objektai yra tinkami šiukšlių surinkimui kaip niekaip negalime jiems paskambinti . Tai populiariai žinoma kaip Izoliacijos sala.
gretimi kampai