Класс MemoryLayouts
java.lang.Object
jdk.incubator.foreign.MemoryLayouts
public final class MemoryLayouts extends Object
Этот класс определяет полезные константы макета. Некоторые из констант, определённых в этом классе, явным образом указывают размер и порядок байтов (см.
BITS_64_BE), и поэтому их можно использовать для явного и однозначного задания содержимого сегмента памяти. Другие константы предполагают неявный порядок байтов (см. JAVA_INT); таким образом, эти константы облегчают работу с другими API, ориентированными на сериализацию, такими как ByteBuffer.Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final ValueLayout |
ADDRESS |
Константа макета значения, размер которого такой же, как у машинного адреса (например, |
static final ValueLayout |
BITS_16_BE |
Константа макета значения размером в два байта и порядком байтов, установленным в ByteOrder.BIG_ENDIAN. |
static final ValueLayout |
BITS_16_LE |
Константа макета значения размером в два байта и порядком байтов, установленным в ByteOrder.LITTLE_ENDIAN. |
static final ValueLayout |
BITS_32_BE |
Константа макета значения размером в четыре байта и порядком байтов, установленным в ByteOrder.BIG_ENDIAN. |
static final ValueLayout |
BITS_32_LE |
Константа макета значения размером в четыре байта и порядком байтов, установленным в ByteOrder.LITTLE_ENDIAN. |
static final ValueLayout |
BITS_64_BE |
Константа макета значения размером в восемь байт и порядком байтов, установленным в ByteOrder.BIG_ENDIAN. |
static final ValueLayout |
BITS_64_LE |
Константа макета значения размером в восемь байт и порядком байтов, установленным в ByteOrder.LITTLE_ENDIAN. |
static final ValueLayout |
BITS_8_BE |
Константа макета значения размером в один байт и порядком байтов, установленным в ByteOrder.BIG_ENDIAN. |
static final ValueLayout |
BITS_8_LE |
Константа макета значения размером в один байт и порядком байтов, установленным в ByteOrder.LITTLE_ENDIAN. |
static final ValueLayout |
JAVA_BYTE |
Константа макета значения, размер которого такой же, как у Java byte, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final ValueLayout |
JAVA_CHAR |
Константа макета значения, размер которого такой же, как у Java char, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final ValueLayout |
JAVA_DOUBLE |
Константа макета значения, размер которого такой же, как у Java double, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final ValueLayout |
JAVA_FLOAT |
Константа макета значения, размер которого такой же, как у Java float, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final ValueLayout |
JAVA_INT |
Константа макета значения, размер которого такой же, как у Java int, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final ValueLayout |
JAVA_LONG |
Константа макета значения, размер которого такой же, как у Java long, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final ValueLayout |
JAVA_SHORT |
Константа макета значения, размер которого такой же, как у Java short, и порядок байтов установлен в ByteOrder.nativeOrder(). |
static final MemoryLayout |
PAD_16 |
Константа макета заполнения размером в два байта. |
static final MemoryLayout |
PAD_32 |
Константа макета заполнения размером в четыре байта. |
static final MemoryLayout |
PAD_64 |
Константа макета заполнения размером в восемь байт. |
static final MemoryLayout |
PAD_8 |
Константа макета заполнения размером в один байт. |
Краткое описание методов
Подробное описание полей
BITS_8_LE
public static final ValueLayout BITS_8_LE
Константа макета значения размером один байт, и порядок байтов установлен в
ByteOrder.LITTLE_ENDIAN.BITS_16_LE
public static final ValueLayout BITS_16_LE
Константа макета значения размером два байта, и порядок байтов установлен в
ByteOrder.LITTLE_ENDIAN.BITS_32_LE
public static final ValueLayout BITS_32_LE
Константа макета значения размером четыре байта, и порядок байтов установлен в
ByteOrder.LITTLE_ENDIAN.BITS_64_LE
public static final ValueLayout BITS_64_LE
Константа макета значения размером восемь байтов, и порядок байтов установлен в
ByteOrder.LITTLE_ENDIAN.BITS_8_BE
public static final ValueLayout BITS_8_BE
Константа макета значения размером один байт, и порядок байтов установлен в
ByteOrder.BIG_ENDIAN.BITS_16_BE
public static final ValueLayout BITS_16_BE
Константа макета значения размером два байта, и порядок байтов установлен в
ByteOrder.BIG_ENDIAN.BITS_32_BE
public static final ValueLayout BITS_32_BE
Константа макета значения размером четыре байта, и порядок байтов установлен в
ByteOrder.BIG_ENDIAN.BITS_64_BE
public static final ValueLayout BITS_64_BE
Константа макета значения размером восемь байтов, и порядок байтов установлен в
ByteOrder.BIG_ENDIAN.PAD_8
public static final MemoryLayout PAD_8
Константа макета заполнения размером один байт.
PAD_16
public static final MemoryLayout PAD_16
Константа макета заполнения размером два байта.
PAD_32
public static final MemoryLayout PAD_32
Константа макета заполнения размером четыре байта.
PAD_64
public static final MemoryLayout PAD_64
Константа макета заполнения размером восемь байтов.
ADDRESS
public static final ValueLayout ADDRESS
Константа макета значения, размер которого такой же, как у машинного адреса (например,
size_t), и порядок байтов установлен в ByteOrder.nativeOrder().JAVA_BYTE
public static final ValueLayout JAVA_BYTE
Константа макета значения, размер которого такой же, как у Java
byte, и порядок байтов установлен в ByteOrder.nativeOrder().JAVA_CHAR
public static final ValueLayout JAVA_CHAR
Константа макета значения, размер которого такой же, как у Java
char, и порядок байтов установлен в ByteOrder.nativeOrder().JAVA_SHORT
public static final ValueLayout JAVA_SHORT
Константа макета значения, размер которого такой же, как у Java
short, и порядок байтов установлен в ByteOrder.nativeOrder().JAVA_INT
public static final ValueLayout JAVA_INT
Константа макета значения, размер которого такой же, как у Java
int, и порядок байтов установлен в ByteOrder.nativeOrder().JAVA_LONG
public static final ValueLayout JAVA_LONG
Константа макета значения, размер которого такой же, как у Java
long, и порядок байтов установлен в ByteOrder.nativeOrder(). Выравнивание этого макета (см. MemoryLayout.byteAlignment()) зависит от платформы, так что выполняется следующее инвариантное условие: MemoryLayouts.JAVA_LONG.byteAlignment() == MemoryLayouts.ADDRESS.byteSize();
JAVA_FLOAT
public static final ValueLayout JAVA_FLOAT
Константа макета значения, размер которого такой же, как у Java
float, и порядок байтов установлен в ByteOrder.nativeOrder().JAVA_DOUBLE
public static final ValueLayout JAVA_DOUBLE
Константа макета значения, размер которого такой же, как у Java
double, и порядок байтов установлен в ByteOrder.nativeOrder(). Выравнивание этого макета (см. MemoryLayout.byteAlignment()) зависит от платформы, так что выполняется следующее инвариантное условие: MemoryLayouts.JAVA_DOUBLE.byteAlignment() == MemoryLayouts.ADDRESS.byteSize();
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemoryLayouts.html