java 源文件在不同的操作系统下通过前端编译器生成的 class 字节码文件是一样的,要不然怎么是“一次编译,到处运行”呢。字节码的设计就是为了充当中间人的角色,javac 将源码编译成字节码,然后不同的 jvm 识别字节码 ,然后根据自己的机器翻译成机器码
,字节码文件提供了跨平台运行的特性。class 字节码文件在不同的操作系统下运行时,被 JVM 解释器和编译器翻译成操作系统的机器码是不一样的。字节码和机器码是两回事,不同架构的机器的机器码是不同的。
转载
同一个 java 源文件,不同操作系统生成的字节码文件一样吗?
原文:https://www.cnblogs.com/qinhaoyi/p/15044579.html