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