京东|什么是字节码?

京东|什么是字节码?

能够被jvm识别的代码叫字节码 , 通常存在于以.class文件结尾的文件中 , 是Java跨平台的基础 。 究其本质 , 它是软件模拟的cpu指令系统 。
Java程序从源码到运行主要有三步:

  • 编译:将代码(.java结尾的文件)编译成JVM可以识别的字节码文件(.class结尾)
  • 解释:JVM执行字节码 , 将字节码翻译成机器能识别的机器码
  • 执行:机器执行机器码
【京东|什么是字节码?】那么 , 它能带来哪些好处呢?
  1. 能最大限度的跨平台 , 因为所有芯片都运行一套软件模拟的cpu指令系统 , 这屏蔽了不同cpu的指令差异
  2. 效率相对于直接执行语法分析树的效率高 , 但是还是落后于cpu硬件指令
  3. 有益于编译器和虚拟机的开发
总结:字节码是模拟的cpu指令系统 , 屏蔽了底层硬件的差异 , 同时又兼顾运行效率 , 这也是java实现跨平台跨语言的基础 。

    相关经验推荐