>Java >java지도 시간 >자바의 섬 문제

자바의 섬 문제

WBOY
WBOY앞으로
2023-08-19 20:17:061259검색

자바의 섬 문제

객체가 사용된 후에는 Garbage Collector 클래스를 사용하여 메모리에서 할당이 해제됩니다. 해당 객체에 대한 참조가 없다는 사실을 기반으로 가비지 컬렉터 클래스가 'finalize' 함수를 호출합니다.

격리섬이란 무엇인가요?

두 객체 'a'와 'b'가 서로 참조하고 다른 객체에서는 참조하지 않는 경우를 다음과 같이 말합니다. Island of Isolation.

서로를 참조하지만 참조되지 않고 전혀 다른 애플리케이션의 다른 개체인 개체 그룹입니다.

Note − 참조되지 않은 단일 개체도 격리 섬입니다.

Let 예제를 보세요 −

Example

Live Demo

public class Demo{
   Demo i;
   public static void main(String[] args){
      Demo my_ob_1 = new Demo();
      System.out.println("Demo object one has been created");
      Demo my_ob_2 = new Demo();
      System.out.println("Demo object two has been created");
      my_ob_1.i = my_ob_2;
      my_ob_2.i = my_ob_1;
      my_ob_1 = null;
      my_ob_2 = null;
      System.gc();
   }
   @Override
   protected void finalize() throws Throwable{
      System.out.println("The finalize method has been called on the object");
   }
}

Output

Demo object one has been created
Demo object two has been created
The finalize method has been called on the object
The finalize method has been called on the object

Demo라는 클래스에는 주요 기능이 포함되어 있습니다. 여기서는 Demo 클래스 유형의 변수가 생성됩니다. Demo 클래스의 인스턴스가 생성되고 두 번째 개체가 첫 번째 개체의 Demo 개체에 할당됩니다. 두 번째 개체도 마찬가지입니다. 이제 두 개체 모두 null이 할당되고 'System.gc' 함수가 호출됩니다. 이제 'finalize' 기능이 재정의되었습니다.

위 내용은 자바의 섬 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제