Spec-Zone.ru › OpenJDK 25

Интерфейс ConstantDynamicEntry

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

Использование ConstantDynamicEntry моделируется с помощью DynamicConstantDesc. Преобразования выполняются посредством asSymbol() и ConstantPoolBuilder.constantDynamicEntry(DynamicConstantDesc).

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

ConstantDynamicEntry(
    BootstrapMethodEntry bootstrap,
    NameAndTypeEntry nameAndType
)
где nameAndType.type() — строка дескриптора поля.
Примечание API:
Динамически вычисляемую константу часто называют динамической константой или condy — сокращением от «constant dynamic».
См. Спецификацию виртуальной машины Java:
4.4.10 Структуры CONSTANT_Dynamic_info и CONSTANT_InvokeDynamic_info
Начиная с:
24
См. также:
  • ConstantPoolBuilder::constantDynamicEntry
  • DynamicConstantDesc
  • Динамически вычисляемые константы

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

Поля, объявленные в интерфейсе 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

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

Модификатор и тип Метод Описание
default DynamicConstantDesc<?> asSymbol()
Возвращает символьный дескриптор этой динамически вычисляемой константы.
default ConstantDesc constantValue()
Возвращает символьный дескриптор этой константы.
default TypeKind typeKind()
Возвращает тип данных этой константы.
default ClassDesc typeSymbol()
Возвращает символьный дескриптор типа поля этой динамически вычисляемой константы.

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

bootstrap, bootstrapMethodIndex, name, nameAndType, type

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

constantPool, index, tag, width

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

typeSymbol

default ClassDesc typeSymbol()
Возвращает символьный дескриптор типа поля этой динамически вычисляемой константы.
Возвращает:
символьный дескриптор типа поля этой динамически вычисляемой константы

constantValue

default ConstantDesc constantValue()
Возвращает символьный дескриптор этой константы.

Это эквивалентно asSymbol().

Определено в:
constantValue в интерфейсе LoadableConstantEntry
Возвращает:
символьный дескриптор этой константы
См. также:
  • ConstantPoolBuilder.loadableConstantEntry(ConstantDesc)

asSymbol

default DynamicConstantDesc<?> asSymbol()
Возвращает символьный дескриптор этой динамически вычисляемой константы.
Возвращает:
символьный дескриптор этой динамически вычисляемой константы
См. также:
  • ConstantPoolBuilder::constantDynamicEntry(DynamicConstantDesc)

typeKind

default TypeKind typeKind()
Возвращает тип данных этой константы.

Если тип данных относится к категории 2, эту константу необходимо загружать с помощью ldc2_w; в противном случае тип данных относится к категории 1, и эту константу необходимо загружать с помощью ldc или ldc_w.

Определено в:
typeKind в интерфейсе LoadableConstantEntry
Примечание API:
Тип данных динамически вычисляемой константы зависит от её дескриптора, тогда как тип данных всех остальных констант можно определить по их типу константы.
Возвращает:
тип данных этой константы

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/ConstantDynamicEntry.html

Spec-Zone.ru

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