# Uses of Package
java.lang.invoke

Packages that use java.lang.invoke
java.lang: Provides classes that are fundamental to the design of the Java programming language.
java.lang.invoke: The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.
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
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 java.lang.invoke
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 consitutent symbolic parts.
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.
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.
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.

Classes in java.lang.invoke used by jdk.dynalink
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
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
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
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
CallSite: A `CallSite` is a holder for a variable `MethodHandle`, which is called its `target`.
MutableCallSite: A `MutableCallSite` is a `CallSite` whose target variable behaves like an ordinary field.