摘要: 指令重排 在计算机执行指令的顺序在经过程序编译器编译之后形成的指令序列,一般而言,这个指令序列是会输出确定的结果;以确保每一次的执行都有确定的结果。但是,一般情况下,CPU和编译器为了提升程序执行的效率,会按照一定的规则允许进行指令优化 源代码 -> 编译器优化的重排 -> 指令并行的重排 -> 内 阅读全文
posted @ 2020-04-19 15:56 澜海初衷 阅读(810) 评论(0) 推荐(0)
摘要: 熟悉JMM模型就知道 各个线程对主内存的共享变量操作都是 各个线程各自拷贝到自己的工作内存进行操作后 在写回到主内存中的 这就可能存在线程AAA 修改了共享变量x的值但还未写回到主内存时,另一个线程BBB有对主内存中的共享变量x进行了操作,但AAA线程工作内存中的共享变量对BBB线程来说并不可见。 阅读全文
posted @ 2020-04-19 14:51 澜海初衷 阅读(155) 评论(0) 推荐(0)
摘要: JMM(Java内存模型,Java Memory Model )本身是一个抽象的概念并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中的各个变量的访问方式(包括实例字段,静态字段 和构成数组对象的元素) JMM关于同步的规定: 1 线程解锁前,必须把共享变量的值刷新回主内存 2 线程加 阅读全文
posted @ 2020-04-19 14:29 澜海初衷 阅读(90) 评论(0) 推荐(0)
摘要: 从master分支copy一个开发分支 步骤: 1.切换到master的分支 $git checkout master $git pull 2.从当前分支拉copy开发分支 $git checkout -b dev Switched to a new branch 'dev' 3.把新建的分支pus 阅读全文
posted @ 2020-03-31 17:04 澜海初衷 阅读(375) 评论(0) 推荐(0)