当前位置:首页 > 公众号精选 > 架构师社区
[导读]记得初学Java那会,刚学完语法基础,就接触到了反射这个Java提供的特性,尽管在现在看来,这是非常基础的知识点,但那时候无疑是兴奋的,瞬间觉得自己脱离了“Java初学者”的队伍。随着工作经验的积累,我也逐渐学习到了很多类似的让我为之而兴奋的知识点,Unsafe的使用技巧无疑便是...

记得初学 Java 那会,刚学完语法基础,就接触到了反射这个 Java 提供的特性,尽管在现在看来,这是非常基础的知识点,但那时候无疑是兴奋的,瞬间觉得自己脱离了“Java 初学者”的队伍。随着工作经验的积累,我也逐渐学习到了很多类似的让我为之而兴奋的知识点,Unsafe 的使用技巧无疑便是其中一个。

sun.misc.Unsafe 是 JDK 原生提供的一个工具类,包含了很多在 Java 语言看来很 cool 的操作,例如内存分配与回收、CAS 操作、类实例化、内存屏障等。正如其命名一样,由于其可以直接操作内存,执行底层系统调用,其提供的操作也是比较危险的。Unsafe 在扩展 Java 语言表达能力、便于在更高层(Java层)代码里实现原本要在更低层(C层)实现的核心库功能上起到了很大的作用。

从 JDK9 开始,Java 模块化设计的限制,使得非标准库的模块都无法访问到 sun.misc.Unsafe。但在 JDK8 中,我们仍然可以直接操作 Unsafe,再不学习,后面可能就没机会了。

使用 Unsafe

Unsafe 被设计的初衷,并不是希望被一般开发者调用,所以我们不能通过 new 或者工厂方法去实例化 Unsafe 对象,通常可以采用反射的方法获取到 Unsafe 实例:

public static final Unsafe unsafe = getUnsafe();

static sun.misc.Unsafe getUnsafe() {
    try {
        Field field = Unsafe.class.getDeclaredField("theUnsafe");
        field.setAccessible(true);
        return  (Unsafe) field.get(null);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
拿到之后,便可以用这个全局的单例对象去为所欲为了。

功能概览


图片来源于网络,我直接借用过来了。上图包含了 Unsafe 的众多功能,还算全面。如果全部介绍,文章篇幅会过长,形式难免会流水账,我打算结合我的一些项目经验以及一些比赛经验,从实践角度聊聊 Unsafe 的一些使用技巧。

内存分配

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

尽管我们已经知道NSA依靠指纹和面部图像来识别目标,但是根据 2008 年的一份机构文件,声纹才是“NSA 的统治地位所在”。 在美苏冷战最严峻的时期,那是 19

关键字: nsa 声纹识别

世界移动大会行业馆内,中兴通讯的展台前挤满了观众,记者在现场几乎寸步难移。Pre5G和5G基站是围观的重点。中外观众一边观看,一边发问。讲解员告诉大家,5G第一阶段的NSA(非独立组网)标准将在

关键字: 5G nsa 中兴

在7月17日召开的“5G和未来网络战略研讨会”上,IMT2020(5G)推进组副组长、信息通信研究院副院长王志勤介绍了5G第三阶段测试,并对目前基本完成的NSA测试情况进

关键字: 5G nsa 中兴 人工智能

【导读】:尽管美国大力打压我国的5G技术,但是前进的脚步完全不受影响,昨日华为宣布完成5G研发第三阶段NSA测试,这是最接近商用的环节,从此端到端产品商用准备就绪。 华为率先完

关键字: 5G nsa 华为

最多还有18个月,就到2020,这也意味着距离5G正式商用真的进入了倒计时。随着今年6月独立组网(SA)标准已经冻结,加上去年12月率先冻结的NSA(非独立组网)标准,5G已经完成第一阶段全功能

关键字: 5G nsa 爱立信

5G技术发展至今,我相信大家对NSA和SA这两个词并不陌生。从2017年年底开始,这两个概念就已经进入我们的视线。当时,5G NSA标准正式发布,曾经引起全球的广泛关注。大家都问,5G标准就5G标准呗

关键字: 5G nsa sa

在“2018 5G网络创新研讨会”上,中国信息通信研究院技术与标准所副总工徐菲表示,我国5G技术试验目前各系统厂家已经完成非独立组网测试,主要功能符合规范,功能完备性、互操作性仍需加强,计划在今

关键字: 5G nsa 互联网

今年6月,3GPP宣布5G独立组网(SA)标准正式冻结。我国5G建设到底采用最新冻结的SA架构,还是早在 2017年 12月就已冻结的非独立组网 (NSA)架构,引发市场热议。

关键字: 4g 5G nsa sa

今年6月,3GPP宣布5G独立组网(SA)标准正式冻结。我国5G建设到底采用最新冻结的SA架构,还是早在2017年12月就已冻结的非独立组网(NSA)架构,引发市场热议。 1.NSA o

关键字: 4g 5G nsa sa

作为2018年中国国际信息通信展“ICT 中国·2018高层论坛”的重量级分论坛,9月28日上午举行的第三届5G创新发展高峰论坛发布了关于5G三阶段测试的重磅消息。 随着2018年第三阶

关键字: 5G nsa 中兴 华为 epc系统
关闭
关闭