Перечисление 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
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
NEW_POOL |
Создает новый пул констант при преобразовании файла class. |
SHARED_POOL |
Расширяет новый пул констант из исходного пула констант при преобразовании файла class. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ClassFile.ConstantPoolSharingOption |
valueOf |
Возвращает константу перечисления этого класса с заданным именем. |
static ClassFile.ConstantPoolSharingOption[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Подробное описание констант перечисления
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));
- См. также:
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));
- См. также:
Подробное описание методов
values
public static ClassFile.ConstantPoolSharingOption[] values()
- Возвращает:
- массив, содержащий константы этого класса перечисления в порядке их объявления
valueOf
public static ClassFile.ConstantPoolSharingOption valueOf(String name)
- Параметры:
-
name- имя возвращаемой константы перечисления. - Возвращает:
- константу перечисления с заданным именем
- Исключения:
-
IllegalArgumentException- если в этом классе перечисления нет константы с заданным именем -
NullPointerException- если аргумент равен null
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/ClassFile.ConstantPoolSharingOption.html