Java底层实现

1.内存屏障(memory barriers)是一组处理器指令,用于实现对内存操作的顺序限制

2.缓冲行(cache line)CPU高速缓存中可以分配的最小存储单位。处理器填写缓存行时

会加载整个缓存行,现代CPU需要执行几百次CPU指令

3.原子操作(atomic operations)不可中断的一个或一系列操作

4.缓存行填充(cache line fill)当处理器识别到从内存中读取操作数是可缓存的,处理器

填写整个高速缓存行到适当的缓存(L1,L2,L3的或所有)

5.缓存命中(cache hit)如果进行高速缓存行填充操作的内存位置仍然是下次处理器访问的

地址时,处理器从缓存中读取操作数,而不是从内存读取

6.写命中(write hit)当处理器将操作数写回到一个内存缓存的区域时,它首先会检查这个

缓存的内存地址是否存在行中,如果存在一个有效的缓存行,则处理器将这个操作数写回到缓存,

而不是写回到内存,这个操作被称为写命中。

7.写缺失(write misses the cache)一个有效的缓存行被写入到不存在的内存区域

8.比较并交换(compare and swap)CAS操作需要输入两个数值,一个旧值(期望操作前的值)

和一个新值,在操作期间先比较旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化

则不交换

9.CPU流水线(CPU pipeline)CPU流水线的工作方式就像工业生产上的装配流水线,在CPU中由5-6个

不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5-6步后再由这些电路单元分别执行,

这样就能实现一个CPU时钟周期完成一条指令,因此提高CPU的运算速度

10.内存顺序冲突(Memory order violation)内存顺序冲突一般是由假共享引起的,假共享是指多个CPU同时修改

一个缓存行的不同部分引起其中一个CPU的操作无效,当出现这个内存顺序冲突时,CPU必须清空流水线

IT技术和行业交流群 417691667

原文地址:https://www.cnblogs.com/sun-rain/p/5763498.html