Java面试题——什么是字节码
字节码
Java源代码经过虚拟机编译器编译后产生的文件(即.class文件),它是一种8位字节的二进制流文件,它不面向任何特定的处理器,只面向虚拟机,Java源文件被Java编译器编译之后,每个类(或者接口)都单独占据一个class文件
采用字节码的好处
Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保持了解释型语言可移植的特点,所以Java程序运行时比较高效
Java中的编译器和解释器
Java中引入了虚拟机的概念,==即在机器和编译程序之间加入了一层抽象的虚拟机器。这台虚拟机器在任何平台上都提供给编译器一个共同的接口。==编译器只需要面向虚拟机,生成虚拟机能够处理的字节码文件,然后由虚拟机中的解释器将字节码文件转换为特定系统的机器码执行,每一种平台的解释器是不同的,但是实现的虚拟机是相同的。