Spec-Zone.ru › OpenJDK 25

Класс перечисления ClassFile.ConstantPoolSharingOption

java.lang.Object
java.lang.Enum<ClassFile.ConstantPoolSharingOption>
java.lang.classfile.ClassFile.ConstantPoolSharingOption
Все реализуемые интерфейсы:
Serializable, ClassFile.Option, Comparable<ClassFile.ConstantPoolSharingOption>, Constable
Внешний интерфейс:
ClassFile
public static enum ClassFile.ConstantPoolSharingOption extends Enum<ClassFile.ConstantPoolSharingOption> implements ClassFile.Option
Параметр, определяющий, следует ли расширять исходный пул констант при преобразовании файла class. По умолчанию используется SHARED_POOL, чтобы расширять исходный пул констант.

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

Альтернативой этому параметру является прямое использование ClassFile.build(ClassEntry, ConstantPoolBuilder, Consumer). Это позволяет расширять произвольные пулы констант и может быть полезно, если при создании файла class повторно используются структуры из нескольких исходных файлов class.

Начиная с:
24
См. также:
  • ConstantPoolBuilder
  • ClassFile.build(ClassEntry, ConstantPoolBuilder, Consumer)
  • ClassFile.transformClass(ClassModel, ClassTransform)

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

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

Enum.EnumDesc<E>

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

Константа перечисления Описание
NEW_POOL
Создает новый пул констант при преобразовании файла class.
SHARED_POOL
Расширяет новый пул констант за счет исходного пула констант при преобразовании файла class.

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

Модификатор и тип Метод Описание
static ClassFile.ConstantPoolSharingOption valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static ClassFile.ConstantPoolSharingOption[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Методы, объявленные в классе Object

getClass, notify, notifyAll, wait, wait, wait

Подробное описание констант перечисления

SHARED_POOL

public static final ClassFile.ConstantPoolSharingOption SHARED_POOL
Расширяет новый пул констант за счет исходного пула констант при преобразовании файла class.

Следующие два преобразования эквивалентны:

ClassModel originalClass = ...
ClassDesc resultClassName = ...
ClassTransform classTransform = ...
var resultOne = ClassFile.of(ConstantPoolSharingOption.SHARED_POOL)
        .transformClass(originalClass, resultClassName, classTransform);
var resultTwo = ClassFile.of().build(resultClassName, ConstantPoolBuilder.of(originalClass),
        clb -> clb.transform(originalClass, classTransform));
См. также:
  • ConstantPoolBuilder::of(ClassModel)

NEW_POOL

public static final ClassFile.ConstantPoolSharingOption NEW_POOL
Создает новый пул констант при преобразовании файла class.

Следующие два преобразования эквивалентны:

ClassModel originalClass = ...
ClassDesc resultClassName = ...
ClassTransform classTransform = ...
var resultOne = ClassFile.of(ConstantPoolSharingOption.NEW_POOL)
        .transformClass(originalClass, resultClassName, classTransform);
var resultTwo = ClassFile.of().build(resultClassName, ConstantPoolBuilder.of(),
        clb -> clb.transform(originalClass, classTransform));
См. также:
  • ConstantPoolBuilder::of()

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

values

public static ClassFile.ConstantPoolSharingOption[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static ClassFile.ConstantPoolSharingOption valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, использованным для объявления константы перечисления в этом классе. (Лишние пробельные символы не допускаются.)
Параметры:
name — имя возвращаемой константы перечисления.
Возвращает:
константу перечисления с указанным именем
Исключения:
IllegalArgumentException — если в этом классе перечисления нет константы с указанным именем
NullPointerException — если аргумент равен null

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

Spec-Zone.ru

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