上一章死循环!是因为JAVA内存不一致会造成的!
1 内存分为:
RAM:
ROM:
2 所有的运行和计算:
CPU寄存器:
CPU指令:CPU将执行翻译为汇编指令:MOV、JMP、ADD
3 CPU执行很快,在很短时间内就会缓存到cache。导致两个cpu的缓存不一致。
如果我们加了volatile关键字后,就会从主内存里去拿。这样就可以保证值永远都是一致的!
RAM:
ROM:
CPU寄存器:
CPU指令:CPU将执行翻译为汇编指令:MOV、JMP、ADD
3 CPU执行很快,在很短时间内就会缓存到cache。导致两个cpu的缓存不一致。
如果我们加了volatile关键字后,就会从主内存里去拿。这样就可以保证值永远都是一致的!