- すべてのスーパー・インタフェース:
Addressable
Addressable
(例:メモリー・セグメント)型のインスタンスでAddressable.address()
をコール- ポインタを返す「downcallメソッド・ハンドル」を呼び出すこと
- たとえば、
MemorySegment.get(ValueLayout.OfAddress, long)
を介して、メモリーからアドレスを読み取ります。 - ポインタを受け入れる「アップ・コール・スタブ」の起動。
間接参照
メモリー・アドレスは、このクラス(e.g.get(ValueLayout.OfInt, long)
)で提供されている様々なメソッドを使用して読取りまたは書込みできます。 各間接参照メソッドは、「値レイアウト」(サイズ、整列制約、バイト順序および間接参照操作に関連付けられたJavaタイプ、およびオフセットを指定する)を取ります。 たとえば、default endianness
を使用してセグメントからintを読み取るには、次のコードを使用できます:
MemoryAddress address = ...
int value = address.get(ValueLayout.JAVA_INT, 0);
big-endian
エンコーディングを使用してメモリーに格納されている場合、間接参照操作を次のように表すことができます:
MemoryAddress address = ...
int value = address.get(ValueLayout.JAVA_INT.withOrder(BIG_ENDIAN), 0);
このインタフェースのすべての実装はvalue-basedである必要があります。プログラマは、equalのインスタンスを交換可能として扱う必要があり、同期にインスタンスを使用しないでください。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equals
メソッドを使用することをお薦めします。
特に指定がないかぎり、null
引数、またはこのクラスのメソッドに1つ以上のnull
要素を含む配列引数を渡すと、NullPointerException
がスローされます。
- 実装要件:
- このインタフェースの実装は不変、スレッド・セーフ、およびvalue-basedです。
-
フィールドのサマリー
フィールド -
メソッドのサマリー
修飾子と型メソッド説明addOffset
(long offset) 指定されたオフセット(バイト単位)を使用して、現在のメモリー・アドレスから新しいメモリー・アドレスを生成します(負の場合もあります)。boolean
指定されたオブジェクトをこのアドレスと比較し、等価性を維持します。get
(ValueLayout.OfAddress layout, long offset) このアドレスからアドレスを読み取り、指定されたレイアウトでオフセットします。boolean
get
(ValueLayout.OfBoolean layout, long offset) 指定されたレイアウトで、このアドレスおよびオフセットからブール値を読み取ります。byte
get
(ValueLayout.OfByte layout, long offset) このアドレスからバイトを読み取り、指定されたレイアウトでオフセットします。char
get
(ValueLayout.OfChar layout, long offset) このアドレスからcharを読み取り、指定されたレイアウトでオフセットします。double
get
(ValueLayout.OfDouble layout, long offset) 指定されたレイアウトで、このアドレスとオフセットから倍精度浮動小数点を読み取ります。float
get
(ValueLayout.OfFloat layout, long offset) このアドレスから浮動小数点を読み取り、指定されたレイアウトでオフセットします。int
get
(ValueLayout.OfInt layout, long offset) このアドレスからintを読み取り、指定されたレイアウトでオフセットします。long
get
(ValueLayout.OfLong layout, long offset) 指定されたレイアウトで、このアドレスとオフセットから長い値を読み取ります。short
get
(ValueLayout.OfShort layout, long offset) このアドレスから短く、指定されたレイアウトでオフセットを読み取ります。getAtIndex
(ValueLayout.OfAddress layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引からアドレスを読み取ります。char
getAtIndex
(ValueLayout.OfChar layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引からcharを読み取ります。double
getAtIndex
(ValueLayout.OfDouble layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から倍精度浮動小数点数を読み取ります。float
getAtIndex
(ValueLayout.OfFloat layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から浮動小数点を読み取ります。int
getAtIndex
(ValueLayout.OfInt layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引からintを読み取ります。long
getAtIndex
(ValueLayout.OfLong layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から長い値を読み取ります。short
getAtIndex
(ValueLayout.OfShort layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から短い時間を読み取ります。getUtf8String
(long offset) このアドレスおよびオフセットから、UTF-8でエンコードされたNULLで終わる文字列を読み取ります。int
hashCode()
このアドレスのハッシュ・コード値を返します。static MemoryAddress
ofLong
(long value) 指定されたロング・アドレスからネイティブ・メモリー・アドレス・インスタンスを取得します。void
set
(ValueLayout.OfAddress layout, long offset, Addressable value) アドレスをこのアドレス・インスタンスに書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfBoolean layout, long offset, boolean value) このアドレス・インスタンスにブール値を書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfByte layout, long offset, byte value) このアドレス・インスタンスにバイトを書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfChar layout, long offset, char value) このアドレス・インスタンスにcharを書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfDouble layout, long offset, double value) このアドレス・インスタンスに倍精度で書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfFloat layout, long offset, float value) このアドレス・インスタンスに浮動小数点を書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfInt layout, long offset, int value) このアドレス・インスタンスにintを書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfLong layout, long offset, long value) このアドレス・インスタンスに長い時間を書き込み、指定されたレイアウトでオフセットします。void
set
(ValueLayout.OfShort layout, long offset, short value) このアドレス・インスタンスに短く書き、指定されたレイアウトでオフセットします。void
setAtIndex
(ValueLayout.OfAddress layout, long index, Addressable value) 指定されたレイアウト・サイズでスケーリングされた、アドレスをこのアドレス・インスタンスおよび索引に書き込みます。void
setAtIndex
(ValueLayout.OfChar layout, long index, char value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引にcharを書き込みます。void
setAtIndex
(ValueLayout.OfDouble layout, long index, double value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に倍精度で書込みを行います。void
setAtIndex
(ValueLayout.OfFloat layout, long index, float value) 特定のレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に浮動小数点を書き込みます。void
setAtIndex
(ValueLayout.OfInt layout, long index, int value) このアドレス・インスタンスおよび索引にintを書き込み、特定のレイアウト・サイズでスケーリングします。void
setAtIndex
(ValueLayout.OfLong layout, long index, long value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に長い時間を書き込みます。void
setAtIndex
(ValueLayout.OfShort layout, long index, short value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に短い値を書き込みます。void
setUtf8String
(long offset, String str) 指定された文字列を指定のオフセット時にこのアドレスに書き込み、UTF-8エンコーディングを使用してNULLで終わるバイト・シーケンスに変換します。long
このメモリー・アドレスに関連付けられたraw long値を返します。インタフェースjdk.incubator.foreign.Addressableで宣言されたメソッド
address
-
フィールド詳細
-
NULL
static final MemoryAddress NULLNULL
アドレスをモデル化するネイティブ・メモリー・アドレス・インスタンス。
-
-
メソッドの詳細
-
toRawLongValue
long toRawLongValue()このメモリー・アドレスに関連付けられたraw long値を返します。- 戻り値:
- このメモリー・アドレスに関連付けられたraw long値
-
addOffset
MemoryAddress addOffset(long offset) 指定されたオフセット(バイト単位)を使用して、現在のメモリー・アドレスから新しいメモリー・アドレスを生成します(負の場合もあります)。- パラメータ:
offset
- 新しいアドレスの作成に使用する必要がある、このアドレスを基準とした相対位置のオフセット(バイト単位)を指定します。- 戻り値:
- 現在のメモリー・アドレスからのオフセットが指定された新しいメモリー・アドレス。
-
getUtf8String
String getUtf8String(long offset) このアドレスおよびオフセットから、UTF-8でエンコードされたNULLで終わる文字列を読み取ります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoder
クラスを使用する必要があります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- 指定された開始アドレス(
toRowLongValue() + offset
)から(含まない)までのバイトから、最初の'\0'
終了文字(見つかったもの)までのJava文字列。 - 例外:
IllegalArgumentException
- ネイティブ文字列のサイズがプラットフォームでサポートされている最大文字列より大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setUtf8String
void setUtf8String(long offset, String str) 指定された文字列を指定のオフセット時にこのアドレスに書き込み、UTF-8エンコーディングを使用してNULLで終わるバイト・シーケンスに変換します。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoder
クラスを使用する必要があります。- パラメータ:
offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。str
- このアドレスで書き込まれるJava文字列。- 例外:
IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
equals
boolean equals(Object that) 指定されたオブジェクトをこのアドレスと比較し、等価性を維持します。 指定されたオブジェクトもアドレスの場合のみ、true
を返し、このアドレスと同じメモリー・ロケーションを参照します。 -
hashCode
int hashCode()このアドレスのハッシュ・コード値を返します。 -
ofLong
static MemoryAddress ofLong(long value) 指定されたロング・アドレスからネイティブ・メモリー・アドレス・インスタンスを取得します。- パラメータ:
value
- 長いアドレス。- 戻り値:
- 新しいメモリー・アドレス・インスタンス。
-
get
byte get(ValueLayout.OfByte layout, long offset) このアドレスからバイトを読み取り、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られたバイト値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfByte layout, long offset, byte value) このアドレス・インスタンスにバイトを書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるbyte値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
boolean get(ValueLayout.OfBoolean layout, long offset) 指定されたレイアウトで、このアドレスおよびオフセットからブール値を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られるブール値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfBoolean layout, long offset, boolean value) このアドレス・インスタンスにブール値を書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるブール値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
char get(ValueLayout.OfChar layout, long offset) このアドレスからcharを読み取り、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られるchar値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfChar layout, long offset, char value) このアドレス・インスタンスにcharを書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるchar値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
short get(ValueLayout.OfShort layout, long offset) このアドレスから短く、指定されたレイアウトでオフセットを読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られる短い値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfShort layout, long offset, short value) このアドレス・インスタンスに短く書き、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるshort値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
int get(ValueLayout.OfInt layout, long offset) このアドレスからintを読み取り、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られるint値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfInt layout, long offset, int value) このアドレス・インスタンスにintを書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるint値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
float get(ValueLayout.OfFloat layout, long offset) このアドレスから浮動小数点を読み取り、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られる浮動小数点値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfFloat layout, long offset, float value) このアドレス・インスタンスに浮動小数点を書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるfloat値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
long get(ValueLayout.OfLong layout, long offset) 指定されたレイアウトで、このアドレスとオフセットから長い値を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られる長い値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfLong layout, long offset, long value) このアドレス・インスタンスに長い時間を書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるlong値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
double get(ValueLayout.OfDouble layout, long offset) 指定されたレイアウトで、このアドレスとオフセットから倍精度浮動小数点を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られる二重値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfDouble layout, long offset, double value) このアドレス・インスタンスに倍精度で書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるdouble値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
get
MemoryAddress get(ValueLayout.OfAddress layout, long offset) このアドレスからアドレスを読み取り、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この読取り演算の最終アドレスは、toRowLongValue() + offset
として表すことができます。- 戻り値:
- このアドレスから読み取られたアドレス値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
set
void set(ValueLayout.OfAddress layout, long offset, Addressable value) アドレスをこのアドレス・インスタンスに書き込み、指定されたレイアウトでオフセットします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。offset
- オフセット(バイト): (このアドレスに対する相対)。 この書き込み操作の最終アドレスは、toRowLongValue() + offset
として表すことができます。value
- 書き込まれるアドレス値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
char getAtIndex(ValueLayout.OfChar layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引からcharを読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られるchar値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfChar layout, long index, char value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引にcharを書き込みます。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるchar値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
short getAtIndex(ValueLayout.OfShort layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から短い時間を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られる短い値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfShort layout, long index, short value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に短い値を書き込みます。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるshort値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
int getAtIndex(ValueLayout.OfInt layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引からintを読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られるint値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfInt layout, long index, int value) このアドレス・インスタンスおよび索引にintを書き込み、特定のレイアウト・サイズでスケーリングします。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるint値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
float getAtIndex(ValueLayout.OfFloat layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から浮動小数点を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られる浮動小数点値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfFloat layout, long index, float value) 特定のレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に浮動小数点を書き込みます。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるfloat値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
long getAtIndex(ValueLayout.OfLong layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から長い値を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られる長い値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfLong layout, long index, long value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に長い時間を書き込みます。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるlong値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
double getAtIndex(ValueLayout.OfDouble layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引から倍精度浮動小数点数を読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られる二重値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfDouble layout, long index, double value) 指定されたレイアウト・サイズでスケーリングされた、このアドレス・インスタンスおよび索引に倍精度で書込みを行います。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるdouble値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
getAtIndex
MemoryAddress getAtIndex(ValueLayout.OfAddress layout, long index) 指定されたレイアウト・サイズでスケーリングされた、このアドレスおよび索引からアドレスを読み取ります。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 読み取るメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この読取り演算の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。- 戻り値:
- このアドレスから読み取られたアドレス値。
- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-
setAtIndex
void setAtIndex(ValueLayout.OfAddress layout, long index, Addressable value) 指定されたレイアウト・サイズでスケーリングされた、アドレスをこのアドレス・インスタンスおよび索引に書き込みます。このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。
- パラメータ:
layout
- 書き込まれるメモリー・リージョンのレイアウト。index
- バイト(このアドレスに対する相対)の索引。 この書き込み操作の最終アドレスは、toRowLongValue() + (index * layout.byteSize())
として表すことができます。value
- 書き込まれるアドレス値。- 例外:
IllegalArgumentException
- 指定されたレイアウトで間接参照操作が「線形拘束と互換性がありません」の場合、またはレイアウト配置がそのサイズより大きい場合。IllegalCallerException
- このメソッドへのアクセスがモジュールM
から発生し、コマンドライン・オプション--enable-native-access
がない場合、またはモジュール名M
が名前なしモジュールの場合はALL-UNNAMED
は説明しません。
-