Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaの孤立の島


オブジェクトが使用された後、ガベージコレクタークラスを使用してメモリから割り当てが解除されます。オブジェクトへの参照が存在しないという事実に基づいて、オブジェクトは破棄されます。ガベージコレクタークラスは、破棄する必要のあるオブジェクトに対して「finalize」関数を呼び出します。

孤立の島とは何ですか?

2つのオブジェクト「a」と「b」が相互に参照し、他のオブジェクトから参照されていない場合、それは孤立の島と呼ばれます。

これは、相互に参照するオブジェクトのグループですが、参照されるのではなく、他のアプリケーションの他のオブジェクトです。

−単一の参照されていないオブジェクトも孤立した島です。

例を見てみましょう-

public class Demo{
   Demo i;
   public static void main(String[] args){
      Demo my_ob_1 = new Demo();
      System.out.println("Demo object one has been created");
      Demo my_ob_2 = new Demo();
      System.out.println("Demo object two has been created");
      my_ob_1.i = my_ob_2;
      my_ob_2.i = my_ob_1;
      my_ob_1 = null;
      my_ob_2 = null;
      System.gc();
   }
   @Override
   protected void finalize() throws Throwable{
      System.out.println("The finalize method has been called on the object");
   }
}

出力

Demo object one has been created
Demo object two has been created
The finalize method has been called on the object
The finalize method has been called on the object

Demoという名前のクラスには、main関数が含まれています。ここでは、Demoクラスタイプの変数が作成されます。 Demoクラスのインスタンスが作成され、2番目のオブジェクトが最初のオブジェクトのDemoオブジェクトに割り当てられます。 2番目のdobjectでも同じことが逆の方法で行われます。これで、これらのオブジェクトは両方ともnullに割り当てられ、「System.gc」関数が呼び出されます。これで、「finalize」関数がオーバーライドされます。


  1. HTMLDOMアンカーオブジェクト

    要素はHTMLで使用され、href属性とともにハイパーリンクを作成します。アンカーオブジェクトは、この要素を表します。 例 以下の例では、アンカーオブジェクトにアクセスする方法を学習します- <!DOCTYPE html> <html> <body> <h2>Demo Heading</h2> <a href="https://google.com" id = "myid" >Google</a><br><br> <button oncli

  2. コンストラクターはJavaで例外をスローできますか?

    はい、コンストラクター Javaで例外をスローすることが許可されています。 コンストラクター は、オブジェクトを初期化するために使用される特殊なタイプのメソッドであり、新しいキーワードを使用してクラスのオブジェクトを作成するために使用されます。 、オブジェクトは Iとも呼ばれます インスタンス クラスの。クラスの各オブジェクトには、独自の状態(インスタンス変数)があります )およびそのクラスのメソッドへのアクセス。 コンストラクタから例外をスローする チェックされた例外 チェックされていない例外がインスタンスを作成しようとしたときに、正当な問題を示すために使用できます。 通常、クライアント