W Javie niszczeniem obiektów zajmuje się zbieracz śmieci module, a obiekty, które nie mają do nich żadnych odniesień, kwalifikują się do wyrzucania elementów bezużytecznych. Garbage Collector jest w stanie zidentyfikować tego typu obiekty. Omówmy teraz, co dokładnie oznacza Wyspa Izolacji w następujący sposób:
- Obiekt 1 odwołuje się do Obiektu 2, a Obiekt 2 odwołuje się do Obiektu 1. Ani Obiekt 1, ani Obiekt 2 nie odwołuje się do żadnego innego obiektu. To wyspa izolacji.
- Zasadniczo wyspa izolacji to grupa obiektów, które odwołują się do siebie, ale nie odwołuje się do nich żaden aktywny obiekt w aplikacji. Ściśle mówiąc, nawet pojedynczy obiekt, do którego nie ma odniesienia, jest również wyspą izolacji.
Przykład:
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'); } }
Wyjście:
Aktor Amrita Rao
Wyjaśnienie wyjścia:
- Przed zniszczeniem obiektu Garbage Collector wywołuje na tym obiekcie metodę finalize najwyżej raz. Dzieje się tak dlatego, że w powyższym przykładzie metoda finalize() została wywołana dwukrotnie, ponieważ dwa obiekty kwalifikują się do odśmiecania. Dzieje się tak, ponieważ po wykonaniu t2=null nie mamy żadnych zewnętrznych odniesień do obiektów t1 i t2.
- Wszystko, co mamy, to tylko wewnętrzne odniesienia (które są na przykład zmienną i klasy Test) do siebie nawzajem. Nie ma możliwości wywołania zmiennej instancji obu obiektów. Zatem żaden z obiektów nie może zostać ponownie wywołany ' t2.i = t1 '

- Obydwa obiekty posiadają odniesienia zewnętrzne t1 i t2.
Teraz oba obiekty kwalifikują się do odśmiecania jako nie możemy w żaden sposób do nich zadzwonić . Jest to powszechnie znane jako Wyspa izolacji.
format daty.format