能够被jvm识别的代码叫字节码,通常存在于以.class文件结尾的文件中,是Java跨平台的基础。究其本质,它是软件模拟的cpu指令系统。
Java程序从源码到运行主要有三步:
编译:将代码(.java结尾的文件)编译成JVM可以识别的字节码文件(.class结尾)
解释:JVM执行字节码,将字节码翻译成机器能识别的机器码
执行:机器执行机器码
那么,它能带来哪些好处呢?
能最大限度的跨平台,因为所有芯片都运行一套软件模拟的cpu指令系统,这屏蔽了不同cpu的指令差异
效率相对于直接执行语法分析树的效率高,但是还是落后于cpu硬件指令
有益于编译器和虚拟机的开发
总结:字节码是模拟的cpu指令系统,屏蔽了底层硬件的差异,同时又兼顾运行效率,这也是java实现跨平台跨语言的基础。
领取专属 10元无门槛券
私享最新 技术干货