클래스의 인스턴스를 만든 경우 오브젝트의 수명은 얼마나되며 수명주기는 무엇에 달려 있습니까?클래스 라이프 타임의 자바 인스턴스
이classA ca = new classA();
이 객체가 런타임만큼 오래 가지 않는다 : 예를 들어
난과 같이 내 주요 클래스의 인스턴스를 ClassA가?
클래스의 인스턴스를 만든 경우 오브젝트의 수명은 얼마나되며 수명주기는 무엇에 달려 있습니까?클래스 라이프 타임의 자바 인스턴스
이classA ca = new classA();
이 객체가 런타임만큼 오래 가지 않는다 : 예를 들어
난과 같이 내 주요 클래스의 인스턴스를 ClassA가?
음, 개체가 참조 자체를 가지고있는 기간에 따라 다릅니다 (자세한 내용은 ref 형식 참조). 예를 들면.
classA ca = new classA();
classA ca = new classB(); //first reference assigned to some other object
이제 첫 번째 개체가 가비지 수집 대상이며 다음 GC주기에서 삭제됩니다.
살아있는 레퍼런스가 존재하는 한, 힙에 (참조없이) 아직 존재할 수 있지만 가비지 수집 될 준비가되었습니다. 따라서 GC가 다음에 실행될 때 발견 할 것입니다 이때 및 GC 그것이 너무 죽은
예를 ClassA의 인스턴스는 블록 생성하고 확실까지 컨트롤에 라이브된다 ca
에 대한 참조가 도착
{
classA ca = new classA();
}
그 블록은 GC로 수집 할 준비가되었습니다.
이 객체가받을 수 있습니다 널 (null)이 인스턴스 변수를 가리키는 하나의 참조가 ... 그리고. "GC 자격"과 "가비지 수집"사이에는 중요한 구별이 있습니다. –
@Joachim Sauer definately –
Java에서 인스턴스/개체는 도달 가능한 참조가있을 때까지 존재합니다. 새로 생성 된 객체로
classA ca = classA();
가능성이 조금 더 가비지 컬렉션
ca = null;
GC에 대해 읽었으므로 이제 개체의 수명주기를 알고 있습니다. 고맙습니다. –