我如何获得sun.misc.Unsafe的实例?

Arn*_*rne 15 java unsafe

我如何获得不安全类的实例?

我总是得到安全例外.我列出了OpenJDK 6实现的代码.我想把功能sun.misc.Unsafe提供给我,但我总是得到了SecurityException("Unsafe").

public static Unsafe getUnsafe() {
    Class cc = sun.reflect.Reflection.getCallerClass(2);
    if (cc.getClassLoader() != null)
        throw new SecurityException("Unsafe");
    return theUnsafe;
}
Run Code Online (Sandbox Code Playgroud)

(请不要试图告诉我使用这门课是多么不安全.)

小智 6

baeldung.com,我们可以使用反射获取实例:

   Field f =Unsafe.class.getDeclaredField("theUnsafe");
   f.setAccessible(true);
   unsafe = (Unsafe) f.get(null);
Run Code Online (Sandbox Code Playgroud)