码迷,mamicode.com
首页 > 编程语言 > 详细

Java指令重排序

时间:2020-03-27 13:14:41      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:执行   nbsp   改变   cpu   一个   效率   int   解决   解决办法   

            指令重排的分类:编译期重排序和运行时重排序
            在JVM编译时期或者CPU执行JVM字节码时期,对现有的指令进行重排序,主要目的为了优化运行速度(在不改变程序运行结果的前提下)
            
            int a = 3        //1                        
            int b = 5;        //2
            int c = a + b;    //3
            
            虽然说指令重排可以调高程序的执行效率,但是在多线程环境下运行可能会影响到结果
                解决办法:内存屏障
                    内存屏障是一个屏障指令,使CPU对屏障指令之前和之后的内存操作结果都是一样的,相当于一种约束

Java指令重排序

标签:执行   nbsp   改变   cpu   一个   效率   int   解决   解决办法   

原文地址:https://www.cnblogs.com/chx9832/p/12580503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!