代码拉取完成,页面将自动刷新
所有变量的简单赋值写操作,java语言规范原生给你保证原子性的;32位java虚拟机里的long/double是不保证赋值写的原子性的;volatile可以解决这个问题;不保证原子性的一些操作呢?
i++
i = y + 1
i = x * y ==> 先把x和y分别从主内存里加载到工作内存里面来,然后再从工作内存里加载出来执行计算(处理器),计算后的结果写回到工作内存里去,最后还要从工作内存里把i的最新的值刷回主内存
CAS,AtomicInteger => compareAndSet
你敢说他是原子的?
volatile x = 1;
volatile y = 2;
volatile i = x * y;
我之前给大家已经说过了,画图都演示过了
FSDirectory dir = ...
synchronized(dir) {
dir.add();
dir.remove();
dir.insert();
}
加锁
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。