Spec-Zone.ru › OpenJDK 27

Интерфейс UnionLayout

Все суперинтерфейсы:
GroupLayout, MemoryLayout
public sealed interface UnionLayout extends GroupLayout
Групповой макет, макеты-члены которого размещаются с одинаковым начальным смещением.
Требования к реализации:
Реализующие классы являются неизменяемыми, потокобезопасными и основанными на значениях.
Начиная с версии:
22

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе MemoryLayout

MemoryLayout.PathElement
Модификатор и тип Интерфейс Описание
static interface  MemoryLayout.PathElement
Элемент в пути макета.

Краткое описание методов

Модификатор и тип Метод Описание
UnionLayout withByteAlignment(long byteAlignment)
Возвращает макет памяти с теми же характеристиками, что и у данного макета, но с указанным ограничением выравнивания (в байтах).
UnionLayout withName(String name)
Возвращает макет памяти с теми же характеристиками, что и у данного макета, но с указанным именем.
UnionLayout withoutName()
Возвращает макет памяти с теми же характеристиками, что и у данного макета, но без имени.

Методы, объявленные в интерфейсе GroupLayout

memberLayouts
Модификатор и тип Метод Описание
List<MemoryLayout> memberLayouts()
Возвращает макеты-члены данного группового макета.

Методы, объявленные в интерфейсе MemoryLayout

arrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle
Модификатор и тип Метод Описание
VarHandle arrayElementVarHandle(MemoryLayout.PathElement... elements)
Создает дескриптор переменной, который обращается к соседним элементам сегмента памяти по смещениям, выбранным с помощью указанного пути макета; доступные элементы имеют данный макет, а начальный макет в пути — это данный макет.
long byteAlignment()
Возвращает ограничение выравнивания, связанное с данным макетом, выраженное в байтах.
long byteOffset(MemoryLayout.PathElement... elements)
Вычисляет смещение в байтах для макета, выбранного указанным путем макета, начальным макетом которого является данный макет.
MethodHandle byteOffsetHandle(MemoryLayout.PathElement... elements)
Создает дескриптор метода, вычисляющий смещение в байтах для макета, выбранного указанным путем макета, начальным макетом которого является данный макет.
long byteSize()
Возвращает размер макета в байтах.
boolean equals(Object other)
Сравнивает указанный объект с данным макетом на равенство.
int hashCode()
Возвращает хеш-код данного макета.
Optional<String> name()
Возвращает имя (если оно есть), связанное с данным макетом.
long scale(long offset, long index)
Возвращает offset + (byteSize() * index).
MethodHandle scaleHandle()
Возвращает дескриптор метода, который можно использовать для вызова MemoryLayout.scale(long, long) для данного макета.
MemoryLayout select(MemoryLayout.PathElement... elements)
Возвращает макет, выбранный по указанному пути, начальным макетом которого является данный макет.
MethodHandle sliceHandle(MemoryLayout.PathElement... elements)
Создает дескриптор метода, который, получив сегмент памяти, возвращает срез, соответствующий макету, выбранному указанным путем макета, начальным макетом которого является данный макет.
String toString()
Возвращает строковое представление данного макета.
VarHandle varHandle(MemoryLayout.PathElement... elements)
Создает дескриптор переменной, который обращается к сегменту памяти по смещению, выбранному указанным путем макета, начальным макетом которого является данный макет.

Подробное описание методов

withName

UnionLayout withName(String name)
Возвращает макет памяти с теми же характеристиками, что и у данного макета, но с указанным именем.
Переопределяет:
withName в интерфейсе GroupLayout
Переопределяет:
withName в интерфейсе MemoryLayout
Параметры:
name — имя макета
Возвращает:
макет памяти с теми же характеристиками, что и у данного макета, но с указанным именем
См. также:
  • MemoryLayout.name()

withoutName

UnionLayout withoutName()
Возвращает макет памяти с теми же характеристиками, что и у данного макета, но без имени.
Переопределяет:
withoutName в интерфейсе GroupLayout
Переопределяет:
withoutName в интерфейсе MemoryLayout
Возвращает:
макет памяти с теми же характеристиками, что и у данного макета, но без имени
См. также:
  • MemoryLayout.name()

withByteAlignment

UnionLayout withByteAlignment(long byteAlignment)
Возвращает макет памяти с теми же характеристиками, что и у данного макета, но с указанным ограничением выравнивания (в байтах).
Переопределяет:
withByteAlignment в интерфейсе GroupLayout
Переопределяет:
withByteAlignment в интерфейсе MemoryLayout
Параметры:
byteAlignment — ограничение выравнивания макета, выраженное в байтах
Возвращает:
макет памяти с теми же характеристиками, что и у данного макета, но с указанным ограничением выравнивания (в байтах)
Исключения:
IllegalArgumentException — если byteAlignment не является степенью двойки
IllegalArgumentException — если byteAlignment меньше M, где M — максимальное ограничение выравнивания среди любых макетов-членов, связанных с данным групповым макетом

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API