クラス java.lang.invoke.VarHandleの
使用
パッケージ
説明
Javaランタイム外部のメモリーおよびファンクションへの低レベル・アクセスを提供します。
java.lang.invoke
パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。-
java.lang.foreignでのVarHandleの使用
修飾子と型メソッド説明ValueLayout.arrayElementVarHandle
(int... shape) マルチディメンション配列の間接参照に使用できる「アカド」アクセス変数ハンドルを作成します。default VarHandle
MemoryLayout.varHandle
(MemoryLayout.PathElementPREVIEW... elements) 指定されたレイアウト・パスによって選択されたレイアウトでメモリーを参照解除するために使用できるアクセス変数ハンドルを作成します。パスはこのレイアウトでルートとみなされます。 -
java.lang.invokeでのVarHandleの使用
修飾子と型メソッド説明static VarHandle
MethodHandles.arrayElementVarHandle
(Class<?> arrayClass) 型arrayClass
の配列の要素にアクセスするVarHandleを生成します。static VarHandle
ConstantBootstraps.arrayVarHandle
(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> arrayClass) 配列型にVarHandle
を検索します。static VarHandle
MethodHandles.byteArrayViewVarHandle
(Class<?> viewArrayClass, ByteOrder byteOrder) byte[]
配列の要素にアクセスするVarHandleを生成し、int[]
やlong[]
などの異なるプリミティブ配列型であるかのように見せます。static VarHandle
MethodHandles.byteBufferViewVarHandle
(Class<?> viewArrayClass, ByteOrder byteOrder) int[]
またはlong[]
など、byte
の要素にアクセスするVarHandleを生成します。これは、ByteBuffer
の要素と異なるプリミティブ・コンポーネント型の要素の配列であるかのように見えます。static VarHandle
MethodHandles.collectCoordinates
(VarHandle target, int pos, MethodHandle filter) Preview.フィルタ(メソッド・ハンドル)を使用して座標値のサブ・シーケンスを前処理することで、ターゲット変数ハンドルを調整します。static VarHandle
MethodHandles.dropCoordinates
(VarHandle target, int pos, Class<?>... valueTypes) Preview.ターゲットのvarハンドルに委譲する前にダミー座標を破棄するvarハンドルを返します。static VarHandle
ConstantBootstraps.fieldVarHandle
(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType) インスタンス・フィールドのVarHandle
を検索します。static VarHandle
MethodHandles.filterCoordinates
(VarHandle target, int pos, MethodHandle... filters) Preview.単項フィルタ関数を使用して着信座標値を前処理することで、ターゲット変数ハンドルを適応させます。static VarHandle
MethodHandles.filterValue
(VarHandle target, MethodHandle filterToTarget, MethodHandle filterFromTarget) Preview.フィルタ関数のペアを使用して受信値と送信値を事前処理することで、ターゲット変数ハンドルを適応させます。MethodHandles.Lookup.findStaticVarHandle
(Class<?> decl, String name, Class<?> type) 型decl
のクラスで宣言された型type
の静的フィールドname
へのアクセスを提供するVarHandleを生成します。MethodHandles.Lookup.findVarHandle
(Class<?> recv, String name, Class<?> type) 型recv
のクラスで宣言された型type
の非静的フィールドname
へのアクセスを提供するVarHandleを生成します。static VarHandle
MethodHandles.insertCoordinates
(VarHandle target, int pos, Object... values) Preview.Varハンドル呼出しの前に、1つ以上の「バインド座標」を持つターゲットvarハンドルを提供します。static VarHandle
MethodHandles.memorySegmentViewVarHandle
(ValueLayoutPREVIEW layout) Preview.varハンドル・オブジェクトを作成します。このオブジェクトは、指定された値のレイアウトのシーケンスとしてコンテンツを表示することで、「メモリー・セグメント」PREVIEWを間接参照するために使用できます。static VarHandle
MethodHandles.permuteCoordinates
(VarHandle target, List<Class<?>> newCoordinates, int... reorder) Preview.新しい座標が指定された座標と一致するように再配列することで、ターゲットのvarハンドルの座標値を適応させるvarハンドルを提供します。static VarHandle
ConstantBootstraps.staticFieldVarHandle
(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType) 静的フィールドのVarHandle
を検索します。MethodHandles.Lookup.unreflectVarHandle
(Field f) クラスR
で宣言されたT
型の反映されたフィールドf
へのアクセスを提供するVarHandleを生成します。abstract VarHandle
VarHandle.withInvokeBehavior()
このVarHandleと同じ変数にアクセスできるが、アクセス・モード・メソッドの呼出し動作が「起動動作」に調整されているVarHandleを返します。abstract VarHandle
VarHandle.withInvokeExactBehavior()
このVarHandleと同じ変数にアクセスできるが、アクセス・モード・メソッドの呼出し動作が「invoke-exactの動作」に調整されているVarHandleを返します。修飾子と型メソッド説明static VarHandle
MethodHandles.collectCoordinates
(VarHandle target, int pos, MethodHandle filter) Preview.フィルタ(メソッド・ハンドル)を使用して座標値のサブ・シーケンスを前処理することで、ターゲット変数ハンドルを調整します。static VarHandle
MethodHandles.dropCoordinates
(VarHandle target, int pos, Class<?>... valueTypes) Preview.ターゲットのvarハンドルに委譲する前にダミー座標を破棄するvarハンドルを返します。static VarHandle
MethodHandles.filterCoordinates
(VarHandle target, int pos, MethodHandle... filters) Preview.単項フィルタ関数を使用して着信座標値を前処理することで、ターゲット変数ハンドルを適応させます。static VarHandle
MethodHandles.filterValue
(VarHandle target, MethodHandle filterToTarget, MethodHandle filterFromTarget) Preview.フィルタ関数のペアを使用して受信値と送信値を事前処理することで、ターゲット変数ハンドルを適応させます。static VarHandle
MethodHandles.insertCoordinates
(VarHandle target, int pos, Object... values) Preview.Varハンドル呼出しの前に、1つ以上の「バインド座標」を持つターゲットvarハンドルを提供します。static VarHandle
MethodHandles.permuteCoordinates
(VarHandle target, List<Class<?>> newCoordinates, int... reorder) Preview.新しい座標が指定された座標と一致するように再配列することで、ターゲットのvarハンドルの座標値を適応させるvarハンドルを提供します。修飾子と型メソッド説明static VarHandle
ConstantBootstraps.arrayVarHandle
(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> arrayClass) 配列型にVarHandle
を検索します。static VarHandle
ConstantBootstraps.fieldVarHandle
(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType) インスタンス・フィールドのVarHandle
を検索します。static VarHandle
ConstantBootstraps.staticFieldVarHandle
(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType) 静的フィールドのVarHandle
を検索します。