java代码是否一定按顺序执行?这个问题听起来有点蠢,串行的代码确实会按代码语意正确的执行,但是编译器对于代码本身的优化却并不一定会按实际的代码一步一步的执行。比如:r1=a;r2=r1.x;r3=r1.x;编译器则可能会进行优化,将r3=r1.x这条指令替换成r3=r2,这就是指令的重排编译器为什么要做指令的重排呢?地球人都知道,当然是出于性能上的考虑,而指令重排能提升多少性能?首先指令的执...