Module java.base
Package java.lang.invoke

# Class VarHandle

=
public abstract sealed class VarHandle
extends java.lang.Object
implements java.lang.constant.Constable
permits java.lang.invoke.IndirectVarHandle, java.lang.invoke.LazyInitializingVarHandle, java.lang.invoke.VarHandleSegmentViewBase, java.lang.invoke.VarHandleBooleans.Array, java.lang.invoke.VarHandleBooleans.FieldInstanceReadOnly, java.lang.invoke.VarHandleBooleans.FieldStaticReadOnly, java.lang.invoke.VarHandleByteArrayAsChars.ByteArrayViewVarHandle, java.lang.invoke.VarHandleByteArrayAsDoubles.ByteArrayViewVarHandle, java.lang.invoke.VarHandleByteArrayAsFloats.ByteArrayViewVarHandle, java.lang.invoke.VarHandleByteArrayAsInts.ByteArrayViewVarHandle, java.lang.invoke.VarHandleByteArrayAsLongs.ByteArrayViewVarHandle, java.lang.invoke.VarHandleByteArrayAsShorts.ByteArrayViewVarHandle, java.lang.invoke.VarHandleBytes.Array, java.lang.invoke.VarHandleBytes.FieldInstanceReadOnly, java.lang.invoke.VarHandleBytes.FieldStaticReadOnly, java.lang.invoke.VarHandleChars.Array, java.lang.invoke.VarHandleChars.FieldInstanceReadOnly, java.lang.invoke.VarHandleChars.FieldStaticReadOnly, java.lang.invoke.VarHandleDoubles.Array, java.lang.invoke.VarHandleDoubles.FieldInstanceReadOnly, java.lang.invoke.VarHandleDoubles.FieldStaticReadOnly, java.lang.invoke.VarHandleFloats.Array, java.lang.invoke.VarHandleFloats.FieldInstanceReadOnly, java.lang.invoke.VarHandleFloats.FieldStaticReadOnly, java.lang.invoke.VarHandleInts.Array, java.lang.invoke.VarHandleInts.FieldInstanceReadOnly, java.lang.invoke.VarHandleInts.FieldStaticReadOnly, java.lang.invoke.VarHandleLongs.Array, java.lang.invoke.VarHandleLongs.FieldInstanceReadOnly, java.lang.invoke.VarHandleLongs.FieldStaticReadOnly, java.lang.invoke.VarHandleReferences.Array, java.lang.invoke.VarHandleReferences.FieldInstanceReadOnly, java.lang.invoke.VarHandleReferences.FieldStaticReadOnly, java.lang.invoke.VarHandleShorts.Array, java.lang.invoke.VarHandleShorts.FieldInstanceReadOnly, java.lang.invoke.VarHandleShorts.FieldStaticReadOnly

## Nested Types

- = AccessMode
- = VarHandleDesc

## Methods

- =
  public final java.lang.invoke.MethodType accessModeType(java.lang.invoke.VarHandle.AccessMode arg0)
- =
  public static void acquireFence()
- =
  public final java.lang.Object compareAndExchange(java.lang.Object[] arg0)
- =
  public final java.lang.Object compareAndExchangeAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object compareAndExchangeRelease(java.lang.Object[] arg0)
- =
  public final boolean compareAndSet(java.lang.Object[] arg0)
- =
  public java.util.List<java.lang.Class<?>> coordinateTypes()
- =
  public java.util.Optional<java.lang.invoke.VarHandle.VarHandleDesc> describeConstable()
- =
  public static void fullFence()
- =
  public final java.lang.Object get(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndAdd(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndAddAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndAddRelease(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseAnd(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseAndAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseAndRelease(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseOr(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseOrAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseOrRelease(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseXor(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseXorAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndBitwiseXorRelease(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndSet(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndSetAcquire(java.lang.Object[] arg0)
- =
  public final java.lang.Object getAndSetRelease(java.lang.Object[] arg0)
- =
  public final java.lang.Object getOpaque(java.lang.Object[] arg0)
- =
  public final java.lang.Object getVolatile(java.lang.Object[] arg0)
- =
  public boolean hasInvokeExactBehavior()
- =
  public boolean isAccessModeSupported(java.lang.invoke.VarHandle.AccessMode arg0)
- =
  public static void loadLoadFence()
- =
  public static void releaseFence()
- =
  public final void set(java.lang.Object[] arg0)
- =
  public final void setOpaque(java.lang.Object[] arg0)
- =
  public final void setRelease(java.lang.Object[] arg0)
- =
  public final void setVolatile(java.lang.Object[] arg0)
- =
  public static void storeStoreFence()
- =
  public java.lang.invoke.MethodHandle toMethodHandle(java.lang.invoke.VarHandle.AccessMode arg0)
- =
  public final java.lang.String toString()
- =
  public java.lang.Class<?> varType()
- =
  public final boolean weakCompareAndSet(java.lang.Object[] arg0)
- =
  public final boolean weakCompareAndSetAcquire(java.lang.Object[] arg0)
- =
  public final boolean weakCompareAndSetPlain(java.lang.Object[] arg0)
- =
  public final boolean weakCompareAndSetRelease(java.lang.Object[] arg0)
- =
  public abstract java.lang.invoke.VarHandle withInvokeBehavior()
- =
  public abstract java.lang.invoke.VarHandle withInvokeExactBehavior()

## Summary

No differences.