インタフェースjdk.incubator.foreign.ResourceScopeの
使用

ResourceScopeを使用するパッケージ
パッケージ
説明
Javaから直接、低レベルで効率的な外部メモリー/ファンクション・アクセスをサポートするクラス。
  • jdk.incubator.foreignでのResourceScopeの使用

    ResourceScopeを返すjdk.incubator.foreignのメソッド
    修飾子と型
    メソッド
    説明
    ResourceScope.globalScope()
    常に有効とみなされる暗黙的なスコープを返します。
    ResourceScope.newConfinedScope()
    新しい限定スコープを作成します。
    ResourceScope.newConfinedScope(Cleaner cleaner)
    Cleanerによって管理される新しい限定スコープを作成します。
    ResourceScope.newImplicitScope()
    新しい「暗黙的なスコープ」を作成します。
    ResourceScope.newSharedScope()
    新しい共有スコープを作成します。
    ResourceScope.newSharedScope(Cleaner cleaner)
    Cleanerによって管理される新しい共有スコープを作成します。
    CLinker.VaList.scope()
    このインスタンスに関連付けられたリソース・スコープを返します。
    MemoryAddress.scope()
    このメモリー・アドレスに関連付けられたリソース・スコープを返します。
    MemorySegment.scope()
    このメモリー・セグメントに関連付けられたリソース・スコープを返します。
    ResourceScope.Handle.scope()
    このハンドルに関連付けられたリソース・スコープを返します。
    ResourceScopeのパラメータを持つjdk.incubator.foreignのメソッド
    修飾子と型
    メソッド
    説明
    MemorySegment.allocateNative(long bytesSize, long alignmentBytes, ResourceScope scope)
    指定されたサイズ(バイト単位)、位置合わせ制約(バイト単位)およびリソース・スコープで、オフ・ヒープ・メモリーの新しく割り当てられたブロックをモデル化する、新しい限定されたネイティブ・メモリー・セグメントを作成します。
    MemorySegment.allocateNative(long bytesSize, ResourceScope scope)
    指定されたサイズ(バイト単位)およびリソース・スコープを持つオフ・ヒープ・メモリーの新しく割り当てられたブロックをモデル化する、限定された新しいネイティブ・メモリー・セグメントを作成します。
    MemorySegment.allocateNative(MemoryLayout layout, ResourceScope scope)
    指定されたレイアウトおよびリソース・スコープを持つ、オフ・ヒープ・メモリーの新しく割り当てられたブロックをモデル化する、新しい限定されたネイティブ・メモリー・セグメントを作成します。
    SegmentAllocator.arenaAllocator(long size, ResourceScope scope)
    特定のサイズ(mallocの使用)の単一のメモリー・セグメントを割り当て、その同じセグメント(これ以上の割り当てが可能になるまで)の異なるスライスを返すことで、割当てリクエストに応答するネイティブなアリーナ・ベースのロケータを返します。
    SegmentAllocator.arenaAllocator(ResourceScope scope)
    バインドされていないネイティブなアリーナ・ベースのロケータを返します。
    MemoryAddress.asSegment(long bytesSize, Runnable cleanupAction, ResourceScope scope)
    指定されたサイズおよびリソース・スコープ(このアドレスにすでに関連付けられている範囲を置き換えます)を持つ新しいネイティブ・メモリー・セグメントを返し、そのベース・アドレスがこのアドレスです。
    MemoryAddress.asSegment(long bytesSize, ResourceScope scope)
    指定されたサイズおよびリソース・スコープ(このアドレスにすでに関連付けられている範囲を置き換えます)を持つ新しいネイティブ・メモリー・セグメントを返し、そのベース・アドレスがこのアドレスです。
    CLinker.VaList.make(Consumer<CLinker.VaList.Builder> actions, ResourceScope scope)
    特定の「リソース・スコープ」に関連付けられたビルダー(CLinker.VaList.Builderを参照してください)を使用して、新しいVaListを作成します。
    MemorySegment.mapFile(Path path, long bytesOffset, long bytesSize, FileChannel.MapMode mapMode, ResourceScope scope)
    指定されたパスからファイルのメモリー・マップのリージョンをモデル化する、新しいマップ済メモリー・セグメントを作成します。
    CLinker.VaList.ofAddress(MemoryAddress address, ResourceScope scope)
    指定されたリソース・スコープを持つ既存のC va_listを指し示すメモリー・アドレスから新しいVaListインスタンスを構築します。
    SegmentAllocator.ofScope(ResourceScope scope)
    MemorySegment.allocateNative(long, long, ResourceScope)ファクトリを使用して、指定されたリソース・スコープによってバインドされた新しいセグメントを割り当てることで、割当てリクエストに応答するネイティブ・ロケータを返します。
    CLinker.toCString(String str, ResourceScope scope)
    Java文字列をUTF-8エンコードされたnull終端のC文字列に変換し、指定されたリソース・スコープに関連付けられたネイティブ・メモリー・セグメントに結果を格納します。
    CLinker.upcallStub(MethodHandle target, FunctionDescriptor function, ResourceScope scope)
    指定されたスコープを持つネイティブ・スタブを、他の外部関数(関数ポインタとして)に渡すことができます。このようなファンクション・ポインタをネイティブ・コードからコールすると、指定されたメソッド・ハンドルが実行されます。
    CLinker.VaList.vargAsSegment(MemoryLayout layout, ResourceScope scope)
    次の値をMemorySegmentとして読み取り、このvaリストの位置を進めます。