モジュール jdk.incubator.foreign
パッケージ jdk.incubator.foreign

インタフェースMemoryAddress

すべてのスーパー・インタフェース:
Addressable

public sealed interface MemoryAddress extends Addressable
メモリー・アドレスは、メモリー・ロケーションへの参照をモデル化します。 通常、メモリー・アドレスは次のいずれかの方法で取得されます: メモリー・アドレスはrawマシン・ポインタによってバックアップされ、「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です。
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final MemoryAddress
    NULLアドレスをモデル化するネイティブ・メモリー・アドレス・インスタンス。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    addOffset(long offset)
    指定されたオフセット(バイト単位)を使用して、現在のメモリー・アドレスから新しいメモリー・アドレスを生成します(負の場合もあります)。
    boolean
    equals(Object that)
    指定されたオブジェクトをこのアドレスと比較し、等価性を維持します。
    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
    このアドレスのハッシュ・コード値を返します。
    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 NULL
      NULLアドレスをモデル化するネイティブ・メモリー・アドレス・インスタンス。
  • メソッドの詳細

    • 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を返し、このアドレスと同じメモリー・ロケーションを参照します。
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      that - このアドレスと等価性を持たせるために比較するオブジェクト。
      戻り値:
      指定されたオブジェクトがこのアドレスと等しい場合、true
      関連項目:
    • hashCode

      int hashCode()
      このアドレスのハッシュ・コード値を返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このアドレスのハッシュ・コード値
      関連項目:
    • 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は説明しません。