# Uses of Class
java.lang.invoke.VarHandle

Packages that use VarHandle
Package | Description
--- | ---
java.lang.invoke | The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.

## Uses of VarHandle in java.lang.invoke

Methods in java.lang.invoke that return VarHandle
Modifier and Type | Method | Description
--- | --- | ---
`static VarHandle` | MethodHandles.`arrayElementVarHandle​(Class<?> arrayClass)` | Produces a VarHandle giving access to elements of an array of type `arrayClass`.
`static VarHandle` | ConstantBootstraps.`arrayVarHandle​(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> arrayClass)` | Finds a `VarHandle` for an array type.
`static VarHandle` | MethodHandles.`byteArrayViewVarHandle​(Class<?> viewArrayClass, ByteOrder byteOrder)` | Produces a VarHandle giving access to elements of a `byte[]` array viewed as if it were a different primitive array type, such as `int[]` or `long[]`.
`static VarHandle` | MethodHandles.`byteBufferViewVarHandle​(Class<?> viewArrayClass, ByteOrder byteOrder)` | Produces a VarHandle giving access to elements of a `ByteBuffer` viewed as if it were an array of elements of a different primitive component type to that of `byte`, such as `int[]` or `long[]`.
`static VarHandle` | ConstantBootstraps.`fieldVarHandle​(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)` | Finds a `VarHandle` for an instance field.
`VarHandle` | MethodHandles.Lookup.`findStaticVarHandle​(Class<?> decl, String name, Class<?> type)` | Produces a VarHandle giving access to a static field `name` of type `type` declared in a class of type `decl`.
`VarHandle` | MethodHandles.Lookup.`findVarHandle​(Class<?> recv, String name, Class<?> type)` | Produces a VarHandle giving access to a non-static field `name` of type `type` declared in a class of type `recv`.
`VarHandle` | VarHandle.VarHandleDesc.`resolveConstantDesc​(MethodHandles.Lookup lookup)` |
`static VarHandle` | ConstantBootstraps.`staticFieldVarHandle​(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)` | Finds a `VarHandle` for a static field.
`VarHandle` | MethodHandles.Lookup.`unreflectVarHandle​(Field f)` | Produces a VarHandle giving access to a reflected field `f` of type `T` declared in a class of type `R`.

Method parameters in java.lang.invoke with type arguments of type VarHandle
Modifier and Type | Method | Description
--- | --- | ---
`static VarHandle` | ConstantBootstraps.`arrayVarHandle​(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> arrayClass)` | Finds a `VarHandle` for an array type.
`static VarHandle` | ConstantBootstraps.`fieldVarHandle​(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)` | Finds a `VarHandle` for an instance field.
`static VarHandle` | ConstantBootstraps.`staticFieldVarHandle​(MethodHandles.Lookup lookup, String name, Class<VarHandle> type, Class<?> declaringClass, Class<?> fieldType)` | Finds a `VarHandle` for a static field.