# Deprecated API

## Contents

- Terminally Deprecated
- Fields
- Methods

- Terminally Deprecated Elements
  Element
  Description
  sun.misc.Unsafe.ADDRESS_SIZE
  Use `ValueLayout.ADDRESS`.`MemoryLayout.byteSize()` instead.
  sun.misc.Unsafe.addressSize()
  Use `ValueLayout.ADDRESS`.`MemoryLayout.byteSize()` instead.
  sun.misc.Unsafe.allocateMemory(long)
  Use `java.lang.foreign` to allocate off-heap memory.
  sun.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_BOOLEAN_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_BYTE_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_CHAR_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_DOUBLE_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_FLOAT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_INT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_INT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_LONG_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_LONG_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_OBJECT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_OBJECT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_SHORT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.arrayBaseOffset(Class<?>)
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.arrayIndexScale(Class<?>)
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.compareAndSwapInt(Object, long, int, int)
  Use `VarHandle.compareAndExchange(Object...)` instead.
  sun.misc.Unsafe.compareAndSwapLong(Object, long, long, long)
  Use `VarHandle.compareAndExchange(Object...)` instead.
  sun.misc.Unsafe.compareAndSwapObject(Object, long, Object, Object)
  Use `VarHandle.compareAndExchange(Object...)` instead.
  sun.misc.Unsafe.copyMemory(long, long, long)
  Use `MemorySegment` and its bulk copy methods instead.
  sun.misc.Unsafe.copyMemory(Object, long, Object, long, long)
  Use `MemorySegment` and its bulk copy methods instead.
  sun.misc.Unsafe.freeMemory(long)
  Use `java.lang.foreign` to allocate and free off-heap memory.
  sun.misc.Unsafe.fullFence()
  Use `VarHandle.fullFence()` instead.
  sun.misc.Unsafe.getAddress(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getAndAddInt(Object, long, int)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndAddLong(Object, long, long)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndSetInt(Object, long, int)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndSetLong(Object, long, long)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndSetObject(Object, long, Object)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getBoolean(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfBoolean, long)` instead.
  sun.misc.Unsafe.getBooleanVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getByte(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getByte(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfByte, long)` instead.
  sun.misc.Unsafe.getByteVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getChar(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getChar(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfChar, long)` instead.
  sun.misc.Unsafe.getCharVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getDouble(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getDouble(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfDouble, long)` instead.
  sun.misc.Unsafe.getDoubleVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getFloat(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getFloat(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfFloat, long)` instead.
  sun.misc.Unsafe.getFloatVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getInt(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getInt(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfInt, long)` instead.
  sun.misc.Unsafe.getIntVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getLoadAverage(double[], int)
  Use
  invalid reference

      java.management/java.lang.management.OperatingSystemMXBean#getSystemLoadAverage()

  instead.
  sun.misc.Unsafe.getLong(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getLong(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfLong, long)` instead.
  sun.misc.Unsafe.getLongVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getObject(Object, long)
  Use `VarHandle.get(Object...)` instead.
  sun.misc.Unsafe.getObjectVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getShort(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getShort(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfShort, long)` instead.
  sun.misc.Unsafe.getShortVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.INVALID_FIELD_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.invokeCleaner(ByteBuffer)
  Use a `MemorySegment` allocated in an `Arena` with the appropriate temporal bounds. The `MemorySegment.asByteBuffer()` method wraps a memory segment as a `ByteBuffer` to allow interop with existing code.
  sun.misc.Unsafe.loadFence()
  Use `VarHandle.acquireFence()` instead.
  sun.misc.Unsafe.objectFieldOffset(Field)
  The guarantee that a field will always have the same offset and base may not be true in a future release. The ability to provide an offset and object reference to a heap memory accessor will be removed in a future release. Use `VarHandle` instead.
  sun.misc.Unsafe.park(boolean, long)
  Use `LockSupport.parkNanos(long)` or `LockSupport.parkUntil(long)` instead.
  sun.misc.Unsafe.putAddress(long, long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putBoolean(Object, long, boolean)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfBoolean, long, boolean)` instead.
  sun.misc.Unsafe.putBooleanVolatile(Object, long, boolean)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putByte(long, byte)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putByte(Object, long, byte)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfByte, long, byte)` instead.
  sun.misc.Unsafe.putByteVolatile(Object, long, byte)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putChar(long, char)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putChar(Object, long, char)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfChar, long, char)` instead.
  sun.misc.Unsafe.putCharVolatile(Object, long, char)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putDouble(long, double)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putDouble(Object, long, double)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfDouble, long, double)` instead.
  sun.misc.Unsafe.putDoubleVolatile(Object, long, double)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putFloat(long, float)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putFloat(Object, long, float)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfFloat, long, float)` instead.
  sun.misc.Unsafe.putFloatVolatile(Object, long, float)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putInt(long, int)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putInt(Object, long, int)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfInt, long, int)` instead.
  sun.misc.Unsafe.putIntVolatile(Object, long, int)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putLong(long, long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putLong(Object, long, long)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfLong, long, long)` instead.
  sun.misc.Unsafe.putLongVolatile(Object, long, long)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putObject(Object, long, Object)
  Use `VarHandle.set(Object...)` instead.
  sun.misc.Unsafe.putObjectVolatile(Object, long, Object)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putOrderedInt(Object, long, int)
  Use `VarHandle.setRelease(Object...)` instead.
  sun.misc.Unsafe.putOrderedLong(Object, long, long)
  Use `VarHandle.setRelease(Object...)` instead.
  sun.misc.Unsafe.putOrderedObject(Object, long, Object)
  Use `VarHandle.setRelease(Object...)` instead.
  sun.misc.Unsafe.putShort(long, short)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putShort(Object, long, short)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfShort, long, short)` instead.
  sun.misc.Unsafe.putShortVolatile(Object, long, short)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.reallocateMemory(long, long)
  Use `java.lang.foreign` to allocate off-heap memory.
  sun.misc.Unsafe.setMemory(long, long, byte)
  `MemorySegment.fill(byte)` fills the contents of a memory segment with a given value. Use `MemorySegment` and its bulk copy methods instead.
  sun.misc.Unsafe.setMemory(Object, long, long, byte)
  `MemorySegment.fill(byte)` fills the contents of a memory segment with a given value.
  sun.misc.Unsafe.staticFieldBase(Field)
  The guarantee that a field will always have the same offset and base may not be true in a future release. The ability to provide an offset and object reference to a heap memory accessor will be removed in a future release. Use `VarHandle` instead.
  sun.misc.Unsafe.staticFieldOffset(Field)
  The guarantee that a field will always have the same offset and base may not be true in a future release. The ability to provide an offset and object reference to a heap memory accessor will be removed in a future release. Use `VarHandle` instead.
  sun.misc.Unsafe.storeFence()
  Use `VarHandle.releaseFence()` instead.
  sun.misc.Unsafe.unpark(Object)
  Use `LockSupport.unpark(Thread)` instead.

- Deprecated Fields
  Field
  Description
  sun.misc.Unsafe.ADDRESS_SIZE
  Use `ValueLayout.ADDRESS`.`MemoryLayout.byteSize()` instead.
  sun.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_BOOLEAN_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_BYTE_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_CHAR_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_DOUBLE_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_FLOAT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_INT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_INT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_LONG_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_LONG_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_OBJECT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_OBJECT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.ARRAY_SHORT_INDEX_SCALE
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.INVALID_FIELD_OFFSET
  Not needed when using `VarHandle` or `java.lang.foreign`.

- Deprecated Methods
  Method
  Description
  sun.misc.Unsafe.addressSize()
  Use `ValueLayout.ADDRESS`.`MemoryLayout.byteSize()` instead.
  sun.misc.Unsafe.allocateMemory(long)
  Use `java.lang.foreign` to allocate off-heap memory.
  sun.misc.Unsafe.arrayBaseOffset(Class<?>)
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.arrayIndexScale(Class<?>)
  Not needed when using `VarHandle` or `java.lang.foreign`.
  sun.misc.Unsafe.compareAndSwapInt(Object, long, int, int)
  Use `VarHandle.compareAndExchange(Object...)` instead.
  sun.misc.Unsafe.compareAndSwapLong(Object, long, long, long)
  Use `VarHandle.compareAndExchange(Object...)` instead.
  sun.misc.Unsafe.compareAndSwapObject(Object, long, Object, Object)
  Use `VarHandle.compareAndExchange(Object...)` instead.
  sun.misc.Unsafe.copyMemory(long, long, long)
  Use `MemorySegment` and its bulk copy methods instead.
  sun.misc.Unsafe.copyMemory(Object, long, Object, long, long)
  Use `MemorySegment` and its bulk copy methods instead.
  sun.misc.Unsafe.freeMemory(long)
  Use `java.lang.foreign` to allocate and free off-heap memory.
  sun.misc.Unsafe.fullFence()
  Use `VarHandle.fullFence()` instead.
  sun.misc.Unsafe.getAddress(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getAndAddInt(Object, long, int)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndAddLong(Object, long, long)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndSetInt(Object, long, int)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndSetLong(Object, long, long)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getAndSetObject(Object, long, Object)
  Use `VarHandle.getAndAdd(Object...)` instead.
  sun.misc.Unsafe.getBoolean(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfBoolean, long)` instead.
  sun.misc.Unsafe.getBooleanVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getByte(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getByte(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfByte, long)` instead.
  sun.misc.Unsafe.getByteVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getChar(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getChar(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfChar, long)` instead.
  sun.misc.Unsafe.getCharVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getDouble(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getDouble(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfDouble, long)` instead.
  sun.misc.Unsafe.getDoubleVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getFloat(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getFloat(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfFloat, long)` instead.
  sun.misc.Unsafe.getFloatVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getInt(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getInt(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfInt, long)` instead.
  sun.misc.Unsafe.getIntVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getLoadAverage(double[], int)
  Use
  invalid reference

      java.management/java.lang.management.OperatingSystemMXBean#getSystemLoadAverage()

  instead.
  sun.misc.Unsafe.getLong(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getLong(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfLong, long)` instead.
  sun.misc.Unsafe.getLongVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getObject(Object, long)
  Use `VarHandle.get(Object...)` instead.
  sun.misc.Unsafe.getObjectVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.getShort(long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.getShort(Object, long)
  Use `VarHandle.get(Object...)` or `MemorySegment.get(ValueLayout.OfShort, long)` instead.
  sun.misc.Unsafe.getShortVolatile(Object, long)
  Use `VarHandle.getVolatile(Object...)` instead.
  sun.misc.Unsafe.invokeCleaner(ByteBuffer)
  Use a `MemorySegment` allocated in an `Arena` with the appropriate temporal bounds. The `MemorySegment.asByteBuffer()` method wraps a memory segment as a `ByteBuffer` to allow interop with existing code.
  sun.misc.Unsafe.loadFence()
  Use `VarHandle.acquireFence()` instead.
  sun.misc.Unsafe.objectFieldOffset(Field)
  The guarantee that a field will always have the same offset and base may not be true in a future release. The ability to provide an offset and object reference to a heap memory accessor will be removed in a future release. Use `VarHandle` instead.
  sun.misc.Unsafe.park(boolean, long)
  Use `LockSupport.parkNanos(long)` or `LockSupport.parkUntil(long)` instead.
  sun.misc.Unsafe.putAddress(long, long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putBoolean(Object, long, boolean)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfBoolean, long, boolean)` instead.
  sun.misc.Unsafe.putBooleanVolatile(Object, long, boolean)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putByte(long, byte)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putByte(Object, long, byte)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfByte, long, byte)` instead.
  sun.misc.Unsafe.putByteVolatile(Object, long, byte)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putChar(long, char)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putChar(Object, long, char)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfChar, long, char)` instead.
  sun.misc.Unsafe.putCharVolatile(Object, long, char)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putDouble(long, double)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putDouble(Object, long, double)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfDouble, long, double)` instead.
  sun.misc.Unsafe.putDoubleVolatile(Object, long, double)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putFloat(long, float)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putFloat(Object, long, float)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfFloat, long, float)` instead.
  sun.misc.Unsafe.putFloatVolatile(Object, long, float)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putInt(long, int)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putInt(Object, long, int)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfInt, long, int)` instead.
  sun.misc.Unsafe.putIntVolatile(Object, long, int)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putLong(long, long)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putLong(Object, long, long)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfLong, long, long)` instead.
  sun.misc.Unsafe.putLongVolatile(Object, long, long)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putObject(Object, long, Object)
  Use `VarHandle.set(Object...)` instead.
  sun.misc.Unsafe.putObjectVolatile(Object, long, Object)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.putOrderedInt(Object, long, int)
  Use `VarHandle.setRelease(Object...)` instead.
  sun.misc.Unsafe.putOrderedLong(Object, long, long)
  Use `VarHandle.setRelease(Object...)` instead.
  sun.misc.Unsafe.putOrderedObject(Object, long, Object)
  Use `VarHandle.setRelease(Object...)` instead.
  sun.misc.Unsafe.putShort(long, short)
  Use `java.lang.foreign` to access off-heap memory.
  sun.misc.Unsafe.putShort(Object, long, short)
  Use `VarHandle.set(Object...)` or `MemorySegment.set(ValueLayout.OfShort, long, short)` instead.
  sun.misc.Unsafe.putShortVolatile(Object, long, short)
  Use `VarHandle.setVolatile(Object...)` instead.
  sun.misc.Unsafe.reallocateMemory(long, long)
  Use `java.lang.foreign` to allocate off-heap memory.
  sun.misc.Unsafe.setMemory(long, long, byte)
  `MemorySegment.fill(byte)` fills the contents of a memory segment with a given value. Use `MemorySegment` and its bulk copy methods instead.
  sun.misc.Unsafe.setMemory(Object, long, long, byte)
  `MemorySegment.fill(byte)` fills the contents of a memory segment with a given value.
  sun.misc.Unsafe.staticFieldBase(Field)
  The guarantee that a field will always have the same offset and base may not be true in a future release. The ability to provide an offset and object reference to a heap memory accessor will be removed in a future release. Use `VarHandle` instead.
  sun.misc.Unsafe.staticFieldOffset(Field)
  The guarantee that a field will always have the same offset and base may not be true in a future release. The ability to provide an offset and object reference to a heap memory accessor will be removed in a future release. Use `VarHandle` instead.
  sun.misc.Unsafe.storeFence()
  Use `VarHandle.releaseFence()` instead.
  sun.misc.Unsafe.unpark(Object)
  Use `LockSupport.unpark(Thread)` instead.