Java获取Unsafe实例

Unsafe是JDK中的一个内置的类,用于直接根据内存地址访问元素.它也提供了很多好用的方法,比如,用volatile的方式设置数组中的元素.

但是,这个类的作者,不希望我们使用它,因为我们虽然我们获取到了对底层的控制权,但是也增大了风险,安全性正是Java相对于C++/C的优势.

这个类,默认情况下,只能被由BootstrapClassLoader加载器加载的类所使用.

那我们要是想使用的话,该如何来获取呢?

通过下面的几行代码即可获得一个Unsafe的实例:

Field singleoneInstanceField = Unsafe.class.getDeclaredField("theUnsafe");

singleoneInstanceField.setAccessible(true);

Unsafe unsafe = (Unsafe)singleoneInstanceField.get(null);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,731评论 0 11
  • 你要知道,世上本就没有两全其美的事,想要得到什么,就必须要放弃些什么。 你的世界我不干涉,我的世界你也别来打扰。 ...
    噢我也不知道阅读 303评论 0 0
  • 曾经我也是那个样子,回到那年,我会这样跟他讲: 游戏世界就像这个现实工作的社会,大多数人是玩家,就好比职场人;也有...
    lamcen阅读 526评论 1 0