Class UnsafeAccess

java.lang.Object
org.jctools.util.UnsafeAccess

public class UnsafeAccess extends Object
Why should we resort to using Unsafe?
  1. To construct class fields which allow volatile/ordered/plain access: This requirement is covered by AtomicReferenceFieldUpdater and similar but their performance is arguably worse than the DIY approach (depending on JVM version) while Unsafe intrinsification is a far lesser challenge for JIT compilers.
  2. To construct flavors of AtomicReferenceArray.
  3. Other use cases exist but are not present in this library yet.
Author:
nitsanw
  • Field Details

    • SUPPORTS_GET_AND_SET_REF

      public static final boolean SUPPORTS_GET_AND_SET_REF
    • SUPPORTS_GET_AND_ADD_LONG

      public static final boolean SUPPORTS_GET_AND_ADD_LONG
    • UNSAFE

      public static final sun.misc.Unsafe UNSAFE
  • Constructor Details

    • UnsafeAccess

      public UnsafeAccess()
  • Method Details