初探 sun.misc.Unsafe

最近在学习J.C.U然后我们探究一下Unsafe类,主要参考 并发 - Unsafe类的简单使用 | 机智的小鸣 ,感谢大佬!具体细节请各位大佬移驾链接!

针对上文做一些细节的补充。

1)Demo中的一些类上注解用到lombok,如:@AllArgsConstructor等等,自行了解。

2)指定openjdk中打的sun.zip压缩包

初探 sun.misc.Unsafe_第1张图片

3)关于ClassLayout类的使用,这是openjdk中的一个类,可以直接将jol.jar直接放到classpath路径,本人使用的是maven配置


初探 sun.misc.Unsafe_第2张图片

4)学以致用,分析一下LockSupport


初探 sun.misc.Unsafe_第3张图片
初探 sun.misc.Unsafe_第4张图片


初探 sun.misc.Unsafe_第5张图片

以上是LockSupport中park()和unpark(),均调用Unsafe中park()和unpark(),其实到这里很费解,Unsafe中park()和unPark()都做了什么??客气的是native方法,只有方法说明而已,忘大佬们找到留言一下!

说一下其中的LockSupport中blocker的作用,这个对象是被设置到Thread类中,记录Object记录了当线程因为许可监视器被阻塞和诊断工具确认阻塞的原因。


初探 sun.misc.Unsafe_第6张图片
初探 sun.misc.Unsafe_第7张图片

你可能感兴趣的:(初探 sun.misc.Unsafe)