Интерфейс GroupLayout
- Все суперинтерфейсы:
MemoryLayout
- Все известные подинтерфейсы:
StructLayout, UnionLayout
public sealed interface GroupLayout extends MemoryLayout permits StructLayout, UnionLayout
Составная раскладка, представляющая собой объединение нескольких разнородных вложенных раскладок. Вложенные раскладки можно объединить двумя способами: если они размещены одна за другой, результирующая групповая раскладка является структурной раскладкой; если же все вложенные раскладки размещены с одинакового начального смещения, результирующая групповая раскладка является объединённой раскладкой.
- Требования к реализации:
- Этот класс неизменяемый, потокобезопасный и основанный на значениях.
- Граф запечатанной иерархии классов:
- Начиная с:
- 22
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в интерфейсе MemoryLayout
MemoryLayout.PathElement
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
memberLayouts() |
Возвращает вложенные раскладки этой групповой раскладки. |
GroupLayout |
withByteAlignment |
Возвращает раскладку памяти с теми же характеристиками, что и у этой раскладки, но с заданным ограничением выравнивания (в байтах). |
GroupLayout |
withName |
Возвращает раскладку памяти с теми же характеристиками, что и у этой раскладки, но с заданным именем. |
GroupLayout |
withoutName() |
Возвращает раскладку памяти с теми же характеристиками, что и у этой раскладки, но без имени. |
Методы, объявленные в интерфейсе MemoryLayout
arrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle
Подробное описание методов
memberLayouts
List<MemoryLayout> memberLayouts()
Возвращает вложенные раскладки этой групповой раскладки.
- Примечание к API:
- порядок возвращаемых вложенных раскладок совпадает с порядком, в котором они были переданы одному из фабричных методов групповой раскладки (см.
MemoryLayout.structLayout(MemoryLayout...)иMemoryLayout.unionLayout(MemoryLayout...)). - Возвращает:
- вложенные раскладки этой групповой раскладки
withName
GroupLayout withName(String name)
Возвращает раскладку памяти с теми же характеристиками, что и у этой раскладки, но с заданным именем.
- Определено в:
-
withNameв интерфейсеMemoryLayout - Параметры:
-
name— имя раскладки - Возвращает:
- раскладку памяти с теми же характеристиками, что и у этой раскладки, но с заданным именем
- См. также:
withoutName
GroupLayout withoutName()
Возвращает раскладку памяти с теми же характеристиками, что и у этой раскладки, но без имени.
- Определено в:
-
withoutNameв интерфейсеMemoryLayout - Возвращает:
- раскладку памяти с теми же характеристиками, что и у этой раскладки, но без имени
- См. также:
withByteAlignment
GroupLayout withByteAlignment(long byteAlignment)
Возвращает раскладку памяти с теми же характеристиками, что и у этой раскладки, но с заданным ограничением выравнивания (в байтах).
- Определено в:
-
withByteAlignmentв интерфейсеMemoryLayout - Параметры:
-
byteAlignment— ограничение выравнивания раскладки, выраженное в байтах - Возвращает:
- раскладку памяти с теми же характеристиками, что и у этой раскладки, но с заданным ограничением выравнивания (в байтах)
- Вызывает исключение:
-
IllegalArgumentException— еслиbyteAlignmentне является степенью двойки -
IllegalArgumentException— еслиbyteAlignmentменьшеM, гдеM— максимальное ограничение выравнивания среди всех вложенных раскладок этой групповой раскладки
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/foreign/GroupLayout.html