Unsafe类
Unsafe類是在sun.misc包下,不屬于Java標準。但是很多Java的基礎(chǔ)類庫,包括一些被廣泛使用的高性能開發(fā)庫都是基于Unsafe類開發(fā)的,比如Netty、Hadoop、Kafka等;
Unsafe可認為是Java中留下的后門,提供了一些低層次操作,如直接內(nèi)存訪問、線程的掛起和恢復(fù)、CAS、線程同步、內(nèi)存屏障
而CAS就是Unsafe類中提供的一個原子操作,第一個參數(shù)為需要改變的對象,第二個為偏移量(即之前求出來的headOffset的值),第三個參數(shù)為期待的值,第四個為更新后的值整個方法的作用是如果當前時刻的值等于預(yù)期值var4相等,則更新為新的期望值?var5,如果更新成功,則返回
true,否則返回false;
?
總結(jié)
- 上一篇: CAS的实现原理
- 下一篇: stateOffset