- すべてのスーパー・インタフェース:
- MemoryLayoutPREVIEW,- ValueLayoutPREVIEW
public sealed interface AddressLayout extends ValueLayoutPREVIEW
AddressLayoutは、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
メモリーの一部のリージョンのアドレスをモデル化するために使用される値のレイアウト。 アドレス・レイアウトに関連付けられた運送業者は
MemorySegment.classです。 アドレス・レイアウトのサイズと配置は、プラットフォームに依存する (たとえば、64ビット・プラットフォームでは、アドレス・レイアウトのサイズと整列が8バイトに設定されます)です。 
 
 アドレス・レイアウトでは、オプションで「ターゲット・レイアウト」を使用できます。 ターゲット・レイアウトがTのアドレス・レイアウトを使用して、レイアウトがTのメモリー・リージョンのアドレスをモデル化できます。 たとえば、ターゲット・レイアウトがValueLayout.JAVA_INTPREVIEWのアドレス・レイアウトを使用して、4バイトの長さのメモリー・リージョンのアドレスをモデル化できます。 ターゲット・レイアウトの指定は、次の状況で役立ちます: 
 
- 別のメモリー・セグメントからアドレスを読み取ることによって取得されたメモリー・セグメントにアクセスする場合(例: MemorySegment.getAtIndex(AddressLayout, long)PREVIEW ;
- Linker.downcallHandle(FunctionDescriptor, Option...)PREVIEWを使用して、停止コール・メソッド・ハンドルを作成する場合
- アップコール・スタブを作成する場合は、Linker.upcallStub(MethodHandle, FunctionDescriptor, Arena, Option...)PREVIEWを使用します。
- 導入されたバージョン:
- 19
- 関連項目:
- 
ネストされたクラスのサマリーインタフェースjava.lang.foreign.MemoryLayoutPREVIEWで宣言されたネストされたクラス/インタフェースMemoryLayout.PathElementPREVIEWインタフェースjava.lang.foreign.ValueLayoutPREVIEWで宣言されたネストされたクラス/インタフェースValueLayout.OfBooleanPREVIEW, ValueLayout.OfBytePREVIEW, ValueLayout.OfCharPREVIEW, ValueLayout.OfDoublePREVIEW, ValueLayout.OfFloatPREVIEW, ValueLayout.OfIntPREVIEW, ValueLayout.OfLongPREVIEW, ValueLayout.OfShortPREVIEW
- 
フィールドのサマリーインタフェースjava.lang.foreign.ValueLayoutPREVIEWで宣言されたフィールドADDRESS, ADDRESS_UNALIGNED, JAVA_BOOLEAN, JAVA_BYTE, JAVA_CHAR, JAVA_CHAR_UNALIGNED, JAVA_DOUBLE, JAVA_DOUBLE_UNALIGNED, JAVA_FLOAT, JAVA_FLOAT_UNALIGNED, JAVA_INT, JAVA_INT_UNALIGNED, JAVA_LONG, JAVA_LONG_UNALIGNED, JAVA_SHORT, JAVA_SHORT_UNALIGNED
- 
メソッドのサマリー修飾子と型メソッド説明このアドレス・レイアウト (もしあれば)に関連付けられたターゲット・レイアウトを返します。withByteAlignment(long byteAlignment) このレイアウトと同じ特性を持つメモリー・レイアウトを返しますが、指定された整列制約(バイト単位)を使用します。このレイアウトと同じ特性を持つメモリー・レイアウトを、指定された名前で返します。このレイアウトと同じ特性を持つ値レイアウトを、指定されたバイト順序で返します。このレイアウトと同じ特性を持つメモリー・レイアウトを名前なしで返します。このアドレス・レイアウトと同じキャリア、整列制約、名前および順序で、ターゲット・レイアウトなしでアドレス・レイアウトを返します。withTargetLayout(MemoryLayoutPREVIEW layout) このアドレス・レイアウトと同じキャリア、整列制約、名前および順序で、指定されたターゲット・レイアウトに関連付けられているアドレス・レイアウトを返します。インタフェースjava.lang.foreign.MemoryLayoutPREVIEWで宣言されたメソッドbyteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, select, sliceHandle, toString, varHandleインタフェースjava.lang.foreign.ValueLayoutPREVIEWで宣言されたメソッドarrayElementVarHandle, carrier, order
- 
メソッドの詳細- 
withNameAddressLayoutPREVIEW withName(String name) このレイアウトと同じ特性を持つメモリー・レイアウトを、指定された名前で返します。- 定義:
- インタフェースMemoryLayoutPREVIEW内のwithName
- 定義:
- インタフェースValueLayoutPREVIEW内のwithName
- パラメータ:
- name- レイアウト名。
- 戻り値:
- このレイアウトと同じ特性を持つが、指定された名前を持つメモリー・レイアウト
- 関連項目:
 
- 
withoutNameAddressLayoutPREVIEW withoutName()このレイアウトと同じ特性を持つメモリー・レイアウトを名前なしで返します。- 定義:
- インタフェースMemoryLayoutPREVIEW内のwithoutName
- 定義:
- インタフェースValueLayoutPREVIEW内のwithoutName
- 戻り値:
- このレイアウトと同じ特性を持つが名前のないメモリー・レイアウト
- 関連項目:
 
- 
withByteAlignmentAddressLayoutPREVIEW withByteAlignment(long byteAlignment) このレイアウトと同じ特性を持つメモリー・レイアウトを返しますが、指定された整列制約(バイト単位)を使用します。- 定義:
- インタフェースMemoryLayoutPREVIEW内のwithByteAlignment
- 定義:
- インタフェースValueLayoutPREVIEW内のwithByteAlignment
- パラメータ:
- byteAlignment- バイト単位で表されるレイアウト整列制約。
- 戻り値:
- このレイアウトと同じ特性を持つメモリー・レイアウト。ただし、指定された整列制約(バイト単位)
 
- 
withOrderAddressLayoutPREVIEW withOrder(ByteOrder order) このレイアウトと同じ特性を持つ値レイアウトを、指定されたバイト順序で返します。- 定義:
- インタフェースValueLayoutPREVIEW内のwithOrder
- パラメータ:
- order- 必要なバイト順。
- 戻り値:
- このレイアウトと同じ特性を持つが、指定されたバイト順序を持つ値レイアウト
 
- 
withTargetLayoutAddressLayoutPREVIEW withTargetLayout(MemoryLayoutPREVIEW layout) このアドレス・レイアウトと同じキャリア、整列制約、名前および順序で、指定されたターゲット・レイアウトに関連付けられているアドレス・レイアウトを返します。 返されるアドレス・レイアウトでは、RAWアドレスに「メモリー・セグメント」PREVIEWとしてアクセスでき、そのサイズは指定されたレイアウトのサイズに設定されます。 さらに、アクセスされたRAWアドレスが、指定されたレイアウトの整列制約と互換性がない場合、IllegalArgumentExceptionがスローされます。- APIのノート:
- このメソッドは、アドレス・レイアウトの作成にも使用できます。アドレス・レイアウトを使用すると、最大サイズ(e.g. Long.MAX_VALUE)のネイティブ・メモリー・セグメントが作成されます。 これを行うには、次のように、サイズが指定されていないターゲット順序レイアウトを使用します: 
 
AddressLayout addressLayout = ... AddressLayout unboundedLayout = addressLayout.withTargetLayout( MemoryLayout.sequenceLayout(ValueLayout.JAVA_BYTE));このメソッドは「制限付き」です。 制限されたメソッドは安全ではなく、誤って使用するとJVMがクラッシュしたり、悪化したりするとメモリーが破損する可能性があります。 したがって、クライアントは制限付きメソッドに応じて屈折し、可能な場合は安全でサポートされている機能を使用する必要があります。 
- パラメータ:
- layout- ターゲット・レイアウト。
- 戻り値:
- このレイアウトと同じ特性を持つが、指定されたターゲット・レイアウトを持つアドレス・レイアウト。
- スロー:
- IllegalCallerException- 呼び出し元が、ネイティブ・アクセスが有効になっていないモジュール内にある場合。
- 関連項目:
 
- 
withoutTargetLayoutAddressLayoutPREVIEW withoutTargetLayout()このアドレス・レイアウトと同じキャリア、整列制約、名前および順序で、ターゲット・レイアウトなしでアドレス・レイアウトを返します。- APIのノート:
- これは、ターゲット・レイアウトが異なるが等しくない2つのアドレス・レイアウトを比較する場合に便利です。
- 戻り値:
- このレイアウトと同じ特性を持つが、ターゲット・レイアウトがないアドレス・レイアウト。
- 関連項目:
 
- 
targetLayoutOptional<MemoryLayoutPREVIEW> targetLayout()このアドレス・レイアウト(もしあれば)に関連付けられたターゲット・レイアウトを返します。- 戻り値:
- このアドレス・レイアウトに関連付けられたターゲット・レイアウト (もしあれば)
 
 
- 
AddressLayoutを使用できます。