CodeGym/자바 코스/자바 구문/finalize로 마무리

finalize로 마무리

사용 가능

"안녕하세요. 오늘은 finalize () 메소드에 대해 간단히 알아보도록 하겠습니다. Java Virtual Machine은 객체를 소멸시키기 전에 finalize () 메소드를 호출합니다. 이 메소드는 시스템 리소스 할당을 해제하거나 기타 정리 작업을 수행하는 데 사용됩니다. 사실 이 메소드는 메서드는 Java의 생성자와 정반대입니다. 생성자가 개체를 만드는 데 사용된다는 것을 기억할 것입니다."

"Object 클래스에는 finalize () 메서드가 있습니다. 즉, 다른 모든 클래스도 마찬가지입니다( 모든 Java 클래스는 Object 클래스에서 파생되기 때문입니다 ). 클래스에서 고유한 finalize () 메서드를 간단히 구현할 수 있습니다 ."

"다음은 예입니다."

예:
class Cat
{
    String name;

    Cat(String name)
    {
        this.name = name;
    }

    protected void finalize() throws Throwable
    {
        System.out.println(name + " has been destroyed");
    }
}

"말이 되네요, 엘리."

"하지만 Java Virtual Machine이 이 메서드를 호출할지 여부를 결정한다는 점을 알아야 합니다 . 메서드 내부에서 생성되고 메서드가 완료될 때 쓰레기로 선언된 객체는 finalize ()를 호출하지 않고 즉시 소멸되는 경우가 많습니다 . 이 메서드는 그 이상입니다 . 신뢰할 수 있는 솔루션보다 백업과 같은 것입니다. 가장 좋은 옵션은 객체가 아직 살아있는 동안 모든 시스템 리소스를 해제하는 것입니다(다른 객체에 대한 참조를 null로 설정하여). 이 방법의 장점과 뉘앙스는 나중에 자세히 말씀드리겠습니다. , 두 가지만 이해하면 됩니다. 이러한 메서드가 있고 ( 놀랍게도! ) 항상 호출되는 것은 아닙니다."

2
과제
자바 구문,  레벨 6레슨 3
잠금
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.
코멘트
  • 인기
  • 신규
  • 이전
코멘트를 남기려면 로그인 해야 합니다
이 페이지에는 아직 코멘트가 없습니다