java.lang.Object
jdk.incubator.foreign.ValueLayout
- すべての実装されたインタフェース:
- Constable,- MemoryLayout
public final class ValueLayout extends Object implements MemoryLayout
値レイアウト。 値レイアウトは、「整数」タイプの(署名済または未署名)やfloating-pointタイプなど、基本データ型の値に関連付けられたメモリー・レイアウトをモデル化するために使用します。 各値レイアウトには、サイズとバイト順序(
ByteOrderを参照してください)があります。 
 
 これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。 
 
 特に指定がないかぎり、null引数、またはこのクラスのメソッドに1つ以上のnull要素を含む配列引数を渡すと、NullPointerExceptionがスローされます。 
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 
ネストされたクラスのサマリーインタフェースjdk.incubator.foreign.MemoryLayoutで宣言されたネストされたクラス/インタフェースMemoryLayout.PathElement
- 
フィールドのサマリーインタフェースjdk.incubator.foreign.MemoryLayoutで宣言されているフィールドLAYOUT_NAME
- 
メソッドのサマリー修飾子と型メソッド説明指定された名前の(それが存在する場合)の属性を返します。このレイアウトに関連付けられた属性名のストリームを返します。final longこのレイアウトに関連付けられている配置制約をビット単位で返します。longbitSize()レイアウト・サイズをビット単位で計算します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。inthashCode()オブジェクトのハッシュ・コード値を返します。booleanhasSize()このレイアウトには指定されたサイズがありますか?booleanこれはパディング・レイアウト(例:MemoryLayout.paddingLayout(long)から作成されたレイアウト)ですか。name()このレイアウトに関連するname (もしあれば)を返します。order()値バイト順を返します。toString()オブジェクトの文字列表現を返します。withAttribute(String name, Constable value) このレイアウトと同じ属性と新しく指定された属性を持つ新しいメモリー・レイアウトを返します。withBitAlignment(long alignmentBits) 目的の位置合せ制約を機能する新しいレイアウトを作成します。必要なレイアウトnameが機能する新しいレイアウトを作成します。指定されたバイト順で新しい値レイアウトを返します。クラス java.lang.Objectで宣言されたメソッドclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitインタフェースjdk.incubator.foreign.MemoryLayoutで宣言されたメソッドattribute, attributes, bitAlignment, bitOffset, bitOffsetHandle, bitSize, byteAlignment, byteOffset, byteOffsetHandle, byteSize, hasSize, isPadding, map, name, select, sliceHandle, varHandle
- 
メソッドの詳細- 
orderpublic ByteOrder order()値バイト順を返します。- 戻り値:
- 値バイト順。
 
- 
withOrderpublic ValueLayout withOrder(ByteOrder order) 指定されたバイト順で新しい値レイアウトを返します。- パラメータ:
- order- 必要なバイト順。
- 戻り値:
- 指定されたバイト順で、新規の値レイアウト。
 
- 
toStringpublic String toString()次のクラスからコピーされた説明:Objectオブジェクトの文字列表現を返します。- 定義:
- インタフェースMemoryLayout内のtoString
- オーバーライド:
- toString、クラス- Object
- 戻り値:
- このオブジェクトの文字列表現
 
- 
equalspublic boolean equals(Object other) 次のクラスからコピーされた説明:Objectこのオブジェクトと他のオブジェクトが等しいかどうかを示します。equalsメソッドは、null以外のオブジェクト参照での同値関係を実装します。- 反射性(reflexive): null以外の参照値xについて、x.equals(x)はtrueを返します。
- 対称性(symmetric): null以外の参照値xおよびyについて、y.equals(x)がtrueを返す場合に限り、x.equals(y)はtrueを返します。
- 推移性(transitive): null以外の参照値x、y、およびzについて、x.equals(y)がtrueを返し、y.equals(z)がtrueを返す場合、x.equals(z)はtrueを返します。
- 一貫性(consistent): null以外の参照値xおよびyについて、x.equals(y)の複数の呼出しは、このオブジェクトに対するequalsによる比較で使われた情報が変更されていなければ、一貫してtrueを返すか、一貫してfalseを返します。
- null以外の参照値xについて、x.equals(null)はfalseを返します。
 等価関係は、操作対象の要素を「同等クラス」にパーティション化し、等価クラスのすべてのメンバーは互いに等しくなります。 等価クラスのメンバーは、少なくともなんらかの目的で互いに置換可能です。 - 定義:
- インタフェースMemoryLayout内のequals
- パラメータ:
- other- 比較対象の参照オブジェクト。
- 戻り値:
- このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse。
- 関連項目:
 
- 反射性(reflexive): null以外の参照値
- 
hashCodepublic int hashCode()次のクラスからコピーされた説明:Objectオブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。hashCodeの一般的な規則は次のとおりです。- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対するequalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
- 2つのオブジェクトがequalsメソッドに従って等しい場合、2つのオブジェクトのそれぞれでhashCodeメソッドを呼び出すと、同じ整数結果が生成される必要があります。
- 2つのオブジェクトがequalsメソッドに従って等しくない場合、2つのオブジェクトのそれぞれでhashCodeメソッドを呼び出すと、個別の整数結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。
 - 定義:
- インタフェースMemoryLayout内のhashCode
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
 
- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
- 
describeConstablepublic Optional<DynamicConstantDesc<ValueLayout>> describeConstable()インタフェースからコピーされた説明:MemoryLayout- 定義:
- インタフェースConstable内のdescribeConstable
- 定義:
- インタフェースMemoryLayout内のdescribeConstable
- 戻り値:
- 最終的な名目記述子を含むOptional、または作成できない場合は空のOptional。
 
- 
withNamepublic ValueLayout withName(String name) 必要なレイアウトnameが機能する新しいレイアウトを作成します。これは次のコードと等価です。 withAttribute(LAYOUT_NAME, name);- 定義:
- インタフェースMemoryLayout内のwithName
- パラメータ:
- name- レイアウト名。
- 戻り値:
- このレイアウトと同じ新しいレイアウト(関連付けられているnameを除く)。
- 関連項目:
 
- 
withBitAlignmentpublic ValueLayout withBitAlignment(long alignmentBits) 目的の位置合せ制約を機能する新しいレイアウトを作成します。- 定義:
- インタフェースMemoryLayout内のwithBitAlignment
- パラメータ:
- alignmentBits- レイアウト位置合せ制約。ビットで表されます。
- 戻り値:
- このレイアウトと同じ新しいレイアウトですが、関連付けられている位置合わせの制約を除きます。
 
- 
withAttributepublic ValueLayout withAttribute(String name, Constable value) このレイアウトと同じ属性と新しく指定された属性を持つ新しいメモリー・レイアウトを返します。 このレイアウトに同じ名前の属性がすでに含まれている場合は、返されるレイアウトで既存の属性値が上書きされます。- 定義:
- インタフェースMemoryLayout内のwithAttribute
- パラメータ:
- name- 属性名
- value- 属性値
- 戻り値:
- このレイアウトと同じ属性と新しく指定された属性を備えた新しいメモリー・レイアウト。
 
- 
nameインタフェースからコピーされた説明:MemoryLayoutこのレイアウトに関連するname (もしあれば)を返します。これは次のコードと等価です。 attribute(LAYOUT_NAME).map(String.class::cast);- 定義:
- インタフェースMemoryLayout内のname
- 戻り値:
- レイアウトname (もしあれば)。
- 関連項目:
 
- 
attributeインタフェースからコピーされた説明:MemoryLayout指定された名前の(それが存在する場合)の属性を返します。- 定義:
- インタフェースMemoryLayout内のattribute
- パラメータ:
- name- 属性名
- 戻り値:
- 指定された名前の(それが存在する場合)の属性。
 
- 
attributesインタフェースからコピーされた説明:MemoryLayoutこのレイアウトに関連付けられた属性名のストリームを返します。- 定義:
- インタフェースMemoryLayout内のattributes
- 戻り値:
- このレイアウトに関連付けられた属性名のストリーム。
 
- 
bitAlignmentpublic final long bitAlignment()インタフェースからコピーされた説明:MemoryLayoutこのレイアウトに関連付けられている配置制約をビット単位で返します。 レイアウトの位置合せにより、レイアウトのビット単位の位置合せである2つのAの機能が定義されます。A <= 8の場合、A/8は、このレイアウトを適切にポイントするポインタに対して整列する必要があるバイト数です。 このため、:- A=8では、すべての(通常の意味で)がパケットで共有されないことを意味します。
- A=64は、aligned (on LP64)、- A=32int aligned、- A=16short alignedなどの単語を意味します。
- A=512は、x86/SV ABI (AVX-512データ)で必要とされる最も厳密な位置合せです。
 MemoryLayout.withBitAlignment(long)を参照してください)に明示的な位置合せ制約が設定されていない場合、このメソッドはこのレイアウトに関連付けられた「自然整列」制約(ビット単位)を返します。- 定義:
- インタフェースMemoryLayout内のbitAlignment
- 戻り値:
- レイアウト位置合せ制約をビット単位で指定します。
 
- 
hasSizepublic boolean hasSize()インタフェースからコピーされた説明:MemoryLayoutこのレイアウトには指定されたサイズがありますか? レイアウトが(次を含む)でサイズが未指定の(SequenceLayout.elementCount()を参照してください)の順序レイアウトである場合、そのレイアウトには指定されたサイズがありません。 値レイアウト(ValueLayoutを参照してください)およびパディングのレイアウト(MemoryLayout.paddingLayout(long)を参照してください) alwaysには指定されたサイズがあるため、このメソッドは常にtrueを返します。- 定義:
- インタフェースMemoryLayout内のhasSize
- 戻り値:
- このレイアウトが指定されたサイズの場合、true。
 
- 
bitSizepublic long bitSize()インタフェースからコピーされた説明:MemoryLayoutレイアウト・サイズをビット単位で計算します。- 定義:
- インタフェースMemoryLayout内のbitSize
- 戻り値:
- レイアウトのサイズ(ビット単位)。
 
- 
isPaddingpublic boolean isPadding()インタフェースからコピーされた説明:MemoryLayoutこれはパディング・レイアウト(例:MemoryLayout.paddingLayout(long)から作成されたレイアウト)ですか。- 定義:
- インタフェースMemoryLayout内のisPadding
- 戻り値:
- このレイアウトがパディング・レイアウトの場合はtrue。
 
 
-