How do I get the instance of sun.misc.Unsafe?

From baeldung.com, we can get the instance using reflection:

   Field f =Unsafe.class.getDeclaredField("theUnsafe");
   f.setAccessible(true);
   unsafe = (Unsafe) f.get(null);

Edit

The following is quoted from the description of the project where this code belongs to.

"The implementation of all these examples and code snippets can be found over on GitHub – this is a Maven project, so it should be easy to import and run as it is."


If you use Spring, you can use its class called UnsafeUtils

at org.springframework.objenesis.instantiator.util.UnsafeUtils

public final class UnsafeUtils {
    private static final Unsafe unsafe;

    private UnsafeUtils() {
    }

    public static Unsafe getUnsafe() {
        return unsafe;
    }

    static {
        Field f;
        try {
            f = Unsafe.class.getDeclaredField("theUnsafe");
        } catch (NoSuchFieldException var3) {
            throw new ObjenesisException(var3);
        }

        f.setAccessible(true);

        try {
            unsafe = (Unsafe)f.get((Object)null);
        } catch (IllegalAccessException var2) {
            throw new ObjenesisException(var2);
        }
    }
}

Tags:

Java

Unsafe