モジュール jdk.incubator.foreign
パッケージ jdk.incubator.foreign

インタフェースSymbolLookup

関数型インタフェース:
これは関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用できます。

@FunctionalInterface public interface SymbolLookup
シンボル・ルックアップ。 名前でシンボル・アドレスを検索するためのルックアップ操作を公開します。lookup(String)を参照してください。 シンボル・ルックアップを使用すると、ロードされたライブラリ内のシンボルをルックアップできます。 クライアントは「ローダー・ルックアップ」を取得でき、これを使用して、現在のクラス・ローダー(例: System.load(String)またはSystem.loadLibrary(String)の使用)によってロードされたライブラリ内のシンボルをルックアップできます。 または、クライアントは「プラットフォーム依存のルックアップ」を入手して、標準のCライブラリ内のシンボルを検索できます。

特に指定がないかぎり、null引数、またはこのクラスのメソッドに1つ以上のnull要素を含む配列引数を渡すと、NullPointerExceptionがスローされます。

  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    呼び出し元クラス・ローダー (つまり、System.loadLibrary(java.lang.String)またはSystem.load(java.lang.String)を使用してロードされたライブラリです)に関連付けられたネイティブ・ライブラリのシンボルの検索に適したシンボル・ルックアップを取得します。
    lookup(String name)
    このルックアップで、指定された名前のシンボルをルックアップします。
  • メソッドの詳細

    • lookup

      Optional<MemoryAddress> lookup(String name)
      このルックアップで、指定された名前のシンボルをルックアップします。
      パラメータ:
      name - シンボル名。
      戻り値:
      記号(もしあれば)に関連付けられたメモリー・アドレス。
    • loaderLookup

      static SymbolLookup loaderLookup()
      呼び出し元クラス・ローダー (つまり、System.loadLibrary(java.lang.String)またはSystem.load(java.lang.String)を使用してロードされたライブラリです)に関連付けられたネイティブ・ライブラリのシンボルの検索に適したシンボル・ルックアップを取得します。

      このメソッドは制限付きです。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。

      戻り値:
      呼び出し元クラス・ローダーによってロードされたライブラリのシンボルを検索するのに適したシンボル・ルックアップ。
      例外:
      IllegalCallerException - このメソッドへのアクセスがモジュールMから発生し、コマンドライン・オプション--enable-native-accessがない場合、またはモジュール名Mが名前なしモジュールの場合はALL-UNNAMEDは説明しません。