CPU每次读取并不是一个字节一个字节的读取,它会一次读取一块内容,这“块”称之为CPU的缓存行(CPU每次访问主存会很慢;CPU的高速缓存L1,L2,L3;L1,L2是每个CPU Core独有的,L3是所有Core共享的 。我们可以把缓存行理解为高速缓存的组成最小单元) 。最常见的缓存行大小是64byte(每次都会读取64字节大小) 。
文章插图
CPU 个缓存 及 主存
【java 伪共享 False Sharing】当CPU从主内存中读取一个变量的时候它会把相邻的数据都一次性的加载到缓存中 。当访问相邻数据的时候就不需要再到主存中读取了,直接从缓存中获取,提高执行效率 。
推荐阅读
- Java15的新特性
- Java性能调优:JVM性能监控常用方法
- Java工具包之轻松理解Java中的IO与NIO
- JavaScript数组去重的方法有哪些?学会这9招,再也不怕算法题了
- Go 和 Java 对比学习:单例模式
- 远离远离:这五种男人会克妻
- 你的接口参数怎么接收的
- Graal VM:云原生时代的Java
- 为什么很多人说刘备是伪君子 历史上的刘备真的虚伪吗
- 初学者应该看的JavaScript Promise 完整指南