Spec-Zone.ru › OpenJDK 25

Interface DynamicConstantPoolEntry

Все суперинтерфейсы:
PoolEntry
Все известные подинтерфейсы:
ConstantDynamicEntry, InvokeDynamicEntry
public sealed interface DynamicConstantPoolEntry extends PoolEntry permits ConstantDynamicEntry, InvokeDynamicEntry
Суперинтерфейс, моделирующий динамически вычисляемые записи пула констант, к которым относятся ConstantDynamicEntry и InvokeDynamicEntry в пуле констант файла class.

Различные типы динамически вычисляемых записей пула констант имеют структурное сходство, но располагаются в разных местах. Поэтому их использования представлены разными символьными дескрипторами, специфичными для каждого подтипа.

Запись динамической константы является составной:

DynamicConstantPoolEntry(
    BootstrapMethodEntry bootstrap,
    NameAndTypeEntry nameAndType
)
См. Спецификацию виртуальной машины Java:
4.4.10 Структуры CONSTANT_Dynamic_info и CONSTANT_InvokeDynamic_info
5.4.3.6 Разрешение динамически вычисляемых констант и точек вызова
Граф иерархии запечатанных классов:
Sealed class hierarchy graph for DynamicConstantPoolEntrySealed class hierarchy graph for DynamicConstantPoolEntry
Начиная с:
24
См. также:
  • Динамическое разрешение точек вызова и констант

Краткое описание полей

Поля, объявленные в интерфейсе PoolEntry

TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8

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

Модификатор и тип Метод Описание
BootstrapMethodEntry bootstrap()
Возвращает запись в таблице методов начальной загрузки для этой константы.
int bootstrapMethodIndex()
Возвращает индекс записи в таблице методов начальной загрузки для этой константы.
default Utf8Entry name()
Возвращает имя, указанное этой символьной ссылкой.
NameAndTypeEntry nameAndType()
Возвращает имя и строку дескриптора, указанные этой символьной ссылкой.
default Utf8Entry type()
Возвращает строку дескриптора, указанную этой символьной ссылкой.

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

constantPool, index, tag, width

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

bootstrap

BootstrapMethodEntry bootstrap()
Возвращает запись в таблице методов начальной загрузки для этой константы.
Возвращает:
запись в таблице методов начальной загрузки для этой константы
См. также:
  • Выполнение методов начальной загрузки
  • ConstantPoolBuilder::constantDynamicEntry(BootstrapMethodEntry, NameAndTypeEntry)
  • ConstantPoolBuilder::invokeDynamicEntry(BootstrapMethodEntry, NameAndTypeEntry)

bootstrapMethodIndex

int bootstrapMethodIndex()
Возвращает индекс записи в таблице методов начальной загрузки для этой константы. Возвращаемое значение эквивалентно bootstrap().bsmIndex().
Возвращает:
индекс записи в таблице методов начальной загрузки для этой константы

nameAndType

NameAndTypeEntry nameAndType()
Возвращает имя и строку дескриптора, указанные этой символьной ссылкой.
Возвращает:
имя и строку дескриптора, указанные этой символьной ссылкой
См. также:
  • Выполнение методов начальной загрузки
  • ConstantPoolBuilder::constantDynamicEntry(BootstrapMethodEntry, NameAndTypeEntry)
  • ConstantPoolBuilder::invokeDynamicEntry(BootstrapMethodEntry, NameAndTypeEntry)

name

default Utf8Entry name()
Возвращает имя, указанное этой символьной ссылкой.
Возвращает:
имя, указанное этой символьной ссылкой

type

default Utf8Entry type()
Возвращает строку дескриптора, указанную этой символьной ссылкой. Если эта запись является ConstantDynamicEntry, это строка дескриптора поля; если же она является InvokeDynamicEntry — строка дескриптора метода.
Примечание к API:
Каждый подинтерфейс предоставляет специальный метод доступа с именем typeSymbol для символьного дескриптора, полученного из этой строки дескриптора.
Возвращает:
строку дескриптора, указанную этой символьной ссылкой

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/constantpool/DynamicConstantPoolEntry.html

Spec-Zone.ru

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