java 伪共享 False Sharing

CPU每次读取并不是一个字节一个字节的读取,它会一次读取一块内容,这“块”称之为CPU的缓存行(CPU每次访问主存会很慢;CPU的高速缓存L1,L2,L3;L1,L2是每个CPU Core独有的,L3是所有Core共享的 。我们可以把缓存行理解为高速缓存的组成最小单元) 。最常见的缓存行大小是64byte(每次都会读取64字节大小) 。
 

java 伪共享 False Sharing

文章插图
CPU 个缓存 及 主存
【java 伪共享 False Sharing】当CPU从主内存中读取一个变量的时候它会把相邻的数据都一次性的加载到缓存中 。当访问相邻数据的时候就不需要再到主存中读取了,直接从缓存中获取,提高执行效率 。


    推荐阅读