我如何获得sun.misc.Unsafe的实例?(How do I get the instance

2019-08-01 17:20发布

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

我总是得到安全异常。 我列出了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;
}

(请不要试图告诉我这是怎么不安全使用这个类。)

Answer 1:

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

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

编辑

以下是从那里这个代码属于该项目的说明引用。

“所有这些例子和代码段中的实现可以在GitHub上找到了 - 这是一个Maven项目,所以它应该是轻松导入并运行,因为它是。”



文章来源: How do I get the instance of sun.misc.Unsafe?
标签: java unsafe