# Uses of Package
java.lang.invoke

Packages that use java.lang.invoke
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.constant
Classes and interfaces to represent nominal descriptors for run-time entities such as classes or method handles, and classfile entities such as constant pool entries or `invokedynamic` call sites.
java.lang.foreign
Provides low-level access to memory and functions outside the Java runtime.
java.lang.invoke
The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.
java.lang.runtime
The `java.lang.runtime` package provides low-level runtime support for the Java language.
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
jdk.dynalink
Contains interfaces and classes that are used to link an `invokedynamic` call site.
jdk.dynalink.beans
Contains the linker for ordinary Java objects.
jdk.dynalink.linker
Contains interfaces and classes needed by language runtimes to implement their own language-specific object models and type conversions.
jdk.dynalink.linker.support
Contains classes that make it more convenient for language runtimes to implement their own language-specific object models and type conversions by providing basic implementations of some classes as well as various utilities.
jdk.dynalink.support
Contains classes that make using Dynalink more convenient by providing basic implementations of some classes as well as various utilities.

Classes in java.lang.invoke used by java.lang
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
TypeDescriptor
An entity that has a type descriptor.
TypeDescriptor.OfField
An entity that has a field type descriptor.
Classes in java.lang.invoke used by java.lang.constant
Class
Description
CallSite
A `CallSite` is a holder for a variable `MethodHandle`, which is called its `target`.
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
TypeDescriptor
An entity that has a type descriptor.
TypeDescriptor.OfField
An entity that has a field type descriptor.
TypeDescriptor.OfMethod
An entity that has a method type descriptor Method descriptors conforming to JVMS 4.3.3 can be described nominally via `MethodType::describeConstable`; otherwise they cannot be described nominally.
Classes in java.lang.invoke used by java.lang.foreign
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
VarHandle
A VarHandle is a dynamically strongly typed reference to a variable, or to a parametrically-defined family of variables, including static fields, non-static fields, array elements, or components of an off-heap data structure.
Classes in java.lang.invoke used by java.lang.invoke
Class
Description
CallSite
A `CallSite` is a holder for a variable `MethodHandle`, which is called its `target`.
LambdaConversionException
LambdaConversionException
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandleInfo
A symbolic reference obtained by cracking a direct method handle into its constituent symbolic parts.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodHandles.Lookup.ClassOption
The set of class options that specify whether a hidden class created by `Lookup::defineHiddenClass` method is dynamically added as a new member to the nest of a lookup class and/or whether a hidden class has a strong relationship with the class loader marked as its defining loader.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
MutableCallSite
A `MutableCallSite` is a `CallSite` whose target variable behaves like an ordinary field.
StringConcatException
StringConcatException is thrown by `StringConcatFactory` when linkage invariants are violated.
SwitchPoint
A `SwitchPoint` is an object which can publish state transitions to other threads.
TypeDescriptor
An entity that has a type descriptor.
TypeDescriptor.OfField
An entity that has a field type descriptor.
TypeDescriptor.OfMethod
An entity that has a method type descriptor Method descriptors conforming to JVMS 4.3.3 can be described nominally via `MethodType::describeConstable`; otherwise they cannot be described nominally.
VarHandle
A VarHandle is a dynamically strongly typed reference to a variable, or to a parametrically-defined family of variables, including static fields, non-static fields, array elements, or components of an off-heap data structure.
VarHandle.AccessMode
The set of access modes that specify how a variable, referenced by a VarHandle, is accessed.
VarHandle.VarHandleDesc
A nominal descriptor for a `VarHandle` constant.
Classes in java.lang.invoke used by java.lang.runtime
Class
Description
CallSite
A `CallSite` is a holder for a variable `MethodHandle`, which is called its `target`.
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
TypeDescriptor
An entity that has a type descriptor.
Classes in java.lang.invoke used by java.util
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
Classes in java.lang.invoke used by jdk.dynalink
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
Classes in java.lang.invoke used by jdk.dynalink.beans
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
Classes in java.lang.invoke used by jdk.dynalink.linker
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
SwitchPoint
A `SwitchPoint` is an object which can publish state transitions to other threads.
Classes in java.lang.invoke used by jdk.dynalink.linker.support
Class
Description
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MethodHandles.Lookup
A lookup object is a factory for creating method handles, when the creation requires access checking.
MethodType
A method type represents the arguments and return type accepted and returned by a method handle, or the arguments and return type passed and expected by a method handle caller.
Classes in java.lang.invoke used by jdk.dynalink.support
Class
Description
CallSite
A `CallSite` is a holder for a variable `MethodHandle`, which is called its `target`.
MethodHandle
A method handle is a typed, directly executable reference to an underlying method, constructor, field, or similar low-level operation, with optional transformations of arguments or return values.
MutableCallSite
A `MutableCallSite` is a `CallSite` whose target variable behaves like an ordinary field.