문제

프로그램에 가변이 얼마나 오래 살고 있는지 말해 줄 수 있습니까 (Java). IE 변수 내부 메서드, 매개 변수에 사용되는 변수, 정적 변수, 메소드에서 반환하는 데 사용되는 변수 등이 선언되었습니다.

감사.

도움이 되었습니까?

해결책

  1. 메소드가 종료 될 때 내부 메소드가 선언 된 참조는 범위를 벗어납니다.
  2. 메소드로 전달 된 매개 변수는 더 이상 참조가 없거나 범위를 벗어날 때까지 GC에 적합하지 않습니다.
  3. 정적 참조는 클래스와 관련이 있으며 클래스가로드되는 한 라이브입니다.
  4. 반환 된 참조는 더 이상 참조가 없거나 범위를 벗어날 때까지 GC에 적합하지 않습니다.

다른 팁

Java의 물체는 전이 폐쇄루트 세트. 이것은 응용 프로그램의 라이브 객체의 보수적 인 근사치입니다 ¹.

편집하다: 이 질문에 관한 것입니다 물체 수명, 또는 가변 범위? 우리는 혼합 용어가 진행되고 있습니다.

¹ 라이브 객체는 응용 프로그램이 종료되기 전에 다시 참조 될 객체입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top