CodeGym /コース /Java の構文 /ファイナライズで終了する

ファイナライズで終了する

Java の構文
レベル 6, レッスン 3
使用可能

「こんにちは。今日は、 finalize () メソッドについて簡単に学びます。Java 仮想マシンは、オブジェクトを破棄する前に、 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 仮想マシンが決定することに注意してください。多くの場合、メソッド内で作成され、メソッドの完了時にガベージと宣言されたオブジェクトは、finalize () を呼び出すことなくすぐに破棄されます。このメソッドは、信頼できるソリューションというよりはバックアップのようなものです。最良のオプションは、オブジェクトがまだ生きている間に、(他のオブジェクトへの参照を null に設定することによって) すべてのシステム リソースを解放することです。この方法の利点とニュアンスについては、後ほど詳しく説明します。この時点では、 、理解する必要があるのは 2 つのことだけです。そのようなメソッドが存在するということ、そして (驚いたことに! ) 常に呼び出されるとは限らないということです。

2
タスク
Java の構文, レベル 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.
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION