# 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.