今天track了下jdk自带的atomicInteger的源码,因最终还是调Unsafe来处理,所以又去追Unsafe了。。
Unsafe定义的方法似乎全部是native的,像C中的memcpy这里也提供了类似的方法copyMemory,另外这里的CAS是用自旋锁做的。
记下今天找到的一些资料,没时间细看和实践:
1. Unsafe帮助文档及source http://www.docjar.com/docs/api/sun/misc/Unsafe.html
2. 源码解析 http://blog.csdn.net/zgmzyr/article/details/8902683
3. 为什么JUC中大量使用了sun.misc.Unsafe 这个类,但官方却不建议开发者使用? http://www.zhihu.com/question/29266773?sort=created
4. 危险代码:如何使用Unsafe操作内存中的Java类和对象—Part1 http://www.importnew.com/7844.html http://www.importnew.com/8494.html http://www.importnew.com/8488.html
5. java magic http://ifeve.com/sun-misc-unsafe/