자바-finalize()방법

finalize()방법
finalize 방법 은 Object 클래스 에 정 의 됩 니 다.그 방법 은 다음 과 같 습 니 다.
protected void finalizer() throw Throwable { }
  • finalize 방법 은 GC(쓰레기 수 거 기)에서 다른 대상 이 인용 하지 않 은 대상 을 회수 하기 로 결 정 했 을 때 호출 합 니 다.하위 클래스 덮어 쓰기 finalize 방법 으로 시스템 자원 을 처리 하거나 제거 작업 을 책임 집 니 다
  • finalizer 방법의 호출 시 기 는 sun 과 JVM 개발 업 체 가 공동으로 결정 합 니 다.더 이상 사망 하지 않 은 스 레 드 가 그 어떠한 방법 으로 도 이 대상 을 방문 하거나 사용 하지 않 는 지 확인 할 때(즉,대상 을 확정 하 는 어떤 방법 도 호출 되 지 않 을 때 finalize 방법 을 호출 합 니 다
  • 종 료 될 준비 가 되 어 있 는 다른 대상 이나 클래스 를 제외 하고 finalize 방법 을 사용 하여 종료 동작 에 포함 시 킵 니 다.(즉,대상 을 호출 하 는 finalize 방법 입 니 다.이때 이 대상 의 finalize 방법 은 마지막 으로 호출 되 는 방법 입 니 다.그 후에 대상 의 어떠한 방법 도 호출 되 지 않 습 니 다

  • 4.567917.finalize 방법 에서 모든 작업 을 수행 할 수 있 습 니 다.이 대상 을 다른 스 레 드 에 다시 사용 할 수 있 도록 하 는 것 을 포함 합 니 다(다시 초기 화).그러나 finalize 의 일반적인 목적 은 대상(일정)이 더 이상 필요 하지 않 을 때(대상 이 버 려 집 니 다)전에 제거 작업 을 수행 하 는 것 입 니 다.예 를 들 어 입력/출력 연결 을 나타 내 는 대상 의 finalize 방법 은 대상 이 영구적 으로 버 려 지기 전에 명시 적 I/O 사 무 를 실행 하여 연결 을 중단 할 수 있 습 니 다
  • Object 류 는 finalize 방법의 실현 을 제공 하지 않 았 고 내 보 내기 류 는 필요 에 따라 이 방법 을 복사 할 수 있 습 니 다

  • 4.567917.자바 는 그 어떠한 대상 의 finalize 방법 으로 발생 하 는 스 레 드 를 제한 하지 않 습 니 다.즉,모든 스 레 드 는 대상 의 finalize 방법 을 호출 할 수 있 습 니 다.그러나 finalize 방법 을 호출 하 는 스 레 드 는 사용자 가 볼 수 있 는 스 레 드 동기 화 자 물 쇠 를 가 질 수 없습니다.finalize 방법 이 호출 될 때 finalize 방법 이 이상 을 던 지고 이상 이 잡 히 지 않 으 면 이상 이 무시 되 고 finalize 방법 이 중 단 됩 니 다
  • 대상 의 finalize 방법 이 호출 된 후에 이 대상 을 기반 으로 하 는 방법 으로 호출 되 지 않 습 니 다.JVM 이 다시 회수 동작 을 할 때 까지 이 대상 은 방출 되 고 사용 하 는 메모리 가 회 수 됩 니 다
  • 모든 대상 의 finalize 방법 은 JVM 에 의 해 한 번 만 호출 됩 니 다

  • 4.567917.finalize()방법 으로 인해 발생 하 는 모든 이상 은 이 대상 의 종료 가 중단 되 고 그렇지 않 으 면 무시 된다

    좋은 웹페이지 즐겨찾기