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

ソフト参照とファントム参照の例?


ソフト参照は、メモリに依存するキャッシュを実装するためによく使用されます。 Javaでのソフトリファレンスの例を見てみましょう-

import java.lang.ref.SoftReference;
class Demo{
   public void display_msg(){
      System.out.println("Hello there");
   }
}
public class Demo_example{
   public static void main(String[] args){
      Demo my_instance = new Demo();
      my_instance.display_msg();
      SoftReference<Demo> my_softref = new SoftReference<Demo>(my_instance);
      my_instance = null;
      my_instance = my_softref.get();
      my_instance.display_msg();
   }
}

出力

Hello there
Hello there

Demoという名前のクラスには、関連するメッセージを表示する「display_msg」という名前の関数が含まれています。「Demo_example」という名前の別のクラスが定義されており、メイン関数が含まれています。ここでは、Demoクラスのインスタンスが作成され、このインスタンスで「display_msg」関数が呼び出されます。 DemoクラスのASoftReferenceインスタンスが作成され、インスタンスがnullに割り当てられます。 「get」関数はこのソフトリファレンスオブジェクトで呼び出され、前のインスタンスに割り当てられます。このインスタンスで「display_msg」関数が呼び出されます。関連するメッセージがコンソールに表示されます。

ファントム参照は、Javaファイナライズメカニズムで可能な方法よりも柔軟な方法で、死前のクリーンアップアクションをスケジュールするためによく使用されます。

ファントム参照の例を見てみましょう-

import java.lang.ref.*;
class Demo{
   public void display_msg(){
      System.out.println("Hello there");
   }
}
public class Demo_example{
   public static void main(String[] args){
      Demo my_instance = new Demo();
      my_instance.display_msg();
      ReferenceQueue<Demo> refQueue = new ReferenceQueue<Demo>();
      PhantomReference<Demo> phantomRef = null;
      phantomRef = new PhantomReference<Demo>(my_instance,refQueue);
      my_instance = null;
      my_instance = phantomRef.get();
      my_instance.display_msg();
   }
}

出力

Hello there
Exception in thread "main" java.lang.NullPointerException
at Demo_example.main(Demo_example.java:22)

Demoという名前のクラスには、関連するメッセージを表示する「display_msg」という名前の関数が含まれています。Demo_exampleという名前の別のクラスには、メイン関数が含まれています。この関数にはDemoクラスのインスタンスが含まれており、「display_msg」関数が呼び出されます。次に、ReferenceQueueインスタンスが作成されます。別のPhantomReferenceインスタンスが作成され、「null」に割り当てられます。次に、previousinstanceがnullに割り当てられ、このインスタンスで「display_msg」関数が呼び出されます。関連する出力がコンソールに表示されます。


  1. Excel でデータを取得して変換する方法 (4 つの適切な例)

    データを取得して変換する方法を探している場合 Excelで 、それなら、これはあなたにぴったりの場所です。場合によっては、Excel ワークブック、テキスト/CSV、Web などの外部ソースからデータセットを取得する必要があります。いくつかの簡単な手順に従って、このデータセットを取得して Excel ワークシートに変換できます。ここに 4 があります データを取得して変換する簡単な方法 エクセルで . データの取得と変換とは Get を使用できます &変身 エクセルで 外部データをインポートまたは接続し、列の削除、データ型の変更、テーブルの結合など、ニーズに合わせてデータを変更します。その後

  2. CSV ファイルと Excel ファイルの違い (11 の適切な例)

    Excel スプレッドシートを膨大な数の形式で保存できます。その中で、コンマ区切り値 (CSV) および Microsoft Excel スプレッドシート (xls)/Excel 2 です 広く使用されているファイル形式。この記事では、CSV の違いについて説明します。 とエクセル ファイル。あなたも興味がある場合は、フォローしてください。 サンプル ワークブックをダウンロード この記事を読みながら理解を深めるために、このサンプル ワークブックをダウンロードしてください。 Excel ファイルの概要 今日のビジネス プロフェッショナルは、Excel なしでは生き残れません。 . Excel