În Java, distrugerea obiectelor este îngrijită de colector de gunoi modul și obiectele care nu au nicio referință la acestea sunt eligibile pentru colectarea gunoiului. Garbage Collector este capabil să identifice acest tip de obiect. Acum haideți să discutăm despre ce înseamnă exact Insula Izolării, după cum urmează:
- Obiectul 1 face referire la Obiectul 2 și Obiectul 2 face referire la Obiectul 1. Nici Obiectul 1, nici Obiectul 2 nu este referit de niciun alt obiect. Asta e o insulă a izolării.
- Practic, o insulă de izolare este un grup de obiecte care se referă unul la celălalt, dar nu sunt referite de niciun obiect activ din aplicație. Strict vorbind, chiar și un singur obiect fără referință este și o insulă de izolare.
Exemplu:
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'); } }
Ieșire:
ce este hashset java
Ieșire Explicație:
- Înainte de a distruge un obiect, Garbage Collector apelează metoda finalize cel mult o dată pe acel obiect. Pentru că metoda finalize() este apelată de două ori în exemplul de mai sus, deoarece două obiecte sunt eligibile pentru colectarea gunoiului. Acest lucru se datorează faptului că nu avem referințe externe la obiectele t1 și t2 după executarea t2=null.
- Tot ceea ce avem sunt doar referințe interne (care este, de exemplu, variabila i din clasa Test) unul la celălalt. Nu există nicio modalitate de a numi variabila de instanță a ambelor obiecte. Deci, niciunul dintre obiecte nu poate fi apelat din nou până când ' t2.i = t1 '

- Ambele obiecte au referințe externe t1 și t2.
Acum ambele obiecte sunt eligibile pentru colectarea gunoiului ca nu avem cum să le numim . Acest lucru este cunoscut în mod popular ca Insula Izolării.
concatenare de șiruri java