java高并发系列 - 第22天:JUC底层工具类Unsafe
这是java高并发系列第22篇文章,文章基于jdk1.8环境。
本文主要内容
- Unsafe基本介绍
- 获取Unsafe实例
- Unsafe中的CAS操作
- Unsafe中原子操作相关方法介绍
- Unsafe中线程调度相关方法介绍
- park和unpark示例
- Unsafe锁示例
- Unsafe中对volatile的支持
基本介绍
最近我们一直在学习java高并发,java高并发中主要涉及到类位于java.util.concurrent包中,简称juc,juc中大部分类都是依赖于Unsafe来实现的,主要用到了Unsafe中的CAS、线程挂起、线程恢复等相关功能。所以如果打算深入了解JUC原理的,必须先了解一下Unsafe类。
先上一幅Unsafe类的功能图:
Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资