logo

Острів Ізоляції на Яві

У Java знищення об’єктів здійснюється за допомогою збирач сміття модуль і об’єкти, які не мають жодних посилань на них, підлягають збиранню сміття. Garbage Collector здатний ідентифікувати цей тип об'єктів. Тепер давайте обговоримо, що саме означає Острів Ізоляції:

альтернативи watchcartoononline.io
  • Об’єкт 1 посилається на об’єкт 2, а об’єкт 2 посилається на об’єкт 1. Ні на об’єкт 1, ні на об’єкт 2 не посилається жодний інший об’єкт. Це острів ізоляції.
  • По суті, острів ізоляції — це група об’єктів, які посилаються один на одного, але на які не посилається жоден активний об’єкт у програмі. Строго кажучи, навіть окремий об’єкт, на який немає посилань, також є острівцем ізоляції.

приклад:



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

Вихід:

Острів Ізоляції на Яві

Пояснення результату:  

  • Перед знищенням об’єкта Garbage Collector щонайбільше один раз викликає метод finalize для цього об’єкта. Це тому, що метод finalize() викликається двічі у наведеному вище прикладі, тому що два об’єкти придатні для збирання сміття. Це тому, що ми не маємо жодних зовнішніх посилань на об’єкти t1 і t2 після виконання t2=null.
  • Усе, що ми маємо, це лише внутрішні посилання (що є змінною екземпляра i класу Test) один на одного. Ми не можемо викликати змінну екземпляра обох об’єктів. Таким чином, жоден з об’єктів не може бути викликаний повторно до ' t2.i  =  t1 '
Острів Ізоляції на Яві
  • Обидва об’єкти мають зовнішні посилання t1 і t2.
  • t1 = нуль:До обох об’єктів можна дістатися через t2.i та t2 відповідно.t2 = нуль:Неможливо дістатися до жодного з об'єктів. 
     

Тепер обидва об’єкти підходять для збору сміття ми не можемо їх назвати . Це в народі відоме як Острів ізоляції.