在本文展开前,读者需要了解一些字节码有关的知识,以及JVM虚拟机栈中栈帧的局部变量表和操作数栈等知识,笔者在这里只给出一些大概的简述。由于局部变量表是建立在线程的栈上,是线程的私有数据,因此不存在数据安全问题。在方法运行期间是不会改变局部变量表的大小的。当i++或者++i没有涉及到其他操作时,两者是没有区别的。对应的字节码指令操作为:其中关于给出的具体字节码细节以及栈帧中操作数栈、局部变量表在本文开头给出了一些简介,具体内容不展开描述,读者可翻阅与之有关的资料。通过反编译可以看出,i++与++i的字节码在没有和其他操作组合时,字节码是完全相同的。

Java中i++的一些问题总结

Java中i++的一些问题总结

Java中i++的一些问题总结

Java中i++的一些问题总结