W3cubDocs

/OpenJDK 25

Interface BootstrapMethodsAttribute

All Superinterfaces:
Attribute<BootstrapMethodsAttribute>, ClassFileElement
public sealed interface BootstrapMethodsAttribute extends Attribute<BootstrapMethodsAttribute>
Models the BootstrapMethods attribute (JVMS 4.7.23), which stores symbolic information for the execution of bootstrap methods, used by dynamically-computed call sites and constants. It is logically a part of the constant pool of a class file and thus not delivered in ClassModel traversal; its elements are accessible through ConstantPool.

This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.

This attribute cannot be constructed directly; its entries can be constructed through ConstantPoolBuilder.bsmEntry(DirectMethodHandleDesc, List), resulting in at most one attribute instance in the built class file.

The attribute was introduced in the Java SE Platform version 7, major version 51.

See Java Virtual Machine Specification:
4.7.23 The BootstrapMethods Attribute
Since:
24
See Also:

Method Summary

Modifier and Type Method Description
List<BootstrapMethodEntry> bootstrapMethods()
Returns the elements of the bootstrap method table.
int bootstrapMethodsSize()
Returns the size of the bootstrap methods table.

Methods declared in interface Attribute

attributeMapper, attributeName

Method Details

bootstrapMethods

List<BootstrapMethodEntry> bootstrapMethods()
Returns the elements of the bootstrap method table.
Returns:
the elements of the bootstrap method table

bootstrapMethodsSize

int bootstrapMethodsSize()
Returns the size of the bootstrap methods table.
Returns:
the size of the bootstrap methods table

© 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/attribute/BootstrapMethodsAttribute.html