字节码是只能由软件程序解释的软件计算机目标代码,通常被描述为虚拟机,字节码优于低级机器码,因为它在软件程序和计算机硬件之间放置了一个解释器。机器码依赖于平台,需要在每个硬件平台上进行编译才能在特定平台上正确执...
字节码是只能由软件程序解释的软件计算机目标代码,通常被描述为虚拟机,字节码优于低级机器码,因为它在软件程序和计算机硬件之间放置了一个解释器。机器码依赖于平台,需要在每个硬件平台上进行编译才能在特定平台上正确执行

随着时间的推移,作为软件开发范例的人控计算机已经成熟,在计算机硬件和运行在计算机上的软件之间的外部解释层的使用也是如此。在早期软件开发初期,开发人员依赖于计算机硬件,驱动程序和底层操作系统。这种依赖性迫使开发人员密切了解特定计算机的许多方面,这使得平台独立性非常困难,软件的增长与特定的硬件和软件供应商紧密耦合字节码的创建在软件开发社区中创造了一个平台独立的环境,软件开发人员只需编写一次,就可以在任何地方使用。开发人员不必被迫了解特定计算机的本机驱动程序,也不必关心软件将运行的底层操作系统虚拟机是Java中使用的术语™ 表示将解释字节码的软件程序的编程语言。此虚拟机将根据需要转换字节码,以便与计算机内的底层硬件和操作系统交互。虚拟机生成的机器代码对Java开发人员是隐藏的™ 可以在多个平台上完全运行,而不需要为每个平台重写软件应用程序明白。字节码不是人类可读的语言,它由类的数值编码表示组成,方法、对象的作用域及其在类中的嵌套。每个字节码操作码的长度为一个字节。现代计算机执行命令所需的机器语言本质上是供应商专有的硬件和操作系统具有处理进程、内存分配和任务利用的独特方式。通过使用字节码软件开发应用程序,虚拟机解释器负责创建在专有平台上运行所需的机器代码。