字节码的目的是什么?

本文关键字:是什么 字节 | 更新日期: 2023-09-27 18:06:18

我读的是字节码一种中间语言,由虚拟机使用,必须安装在计算机上才能运行程序。维基百科说,虚拟机要么直接执行字节码,要么生成机器代码以获得更好的性能。文章还说,字节码是一组指令。对我来说,这听起来像正常的机器码,除了只有VM可以理解它(我对吗?)。

那么字节码的目的是什么呢?如果VM也可以将其编译为机器码,为什么编译器不能直接这样做,我们不需要VM并获得更好的性能?

字节码的目的是什么?

这可能不是回答这个问题的最佳位置,但要视情况而定。在Java中,可移植性是王道。

Windows应用程序的优点是,您可以依赖许多系统库,而不是与程序一起编译。它还扩展了可移植性,因为代码将不依赖于体系结构(通常)。

更一般地说,您可以生成字节码编译器,它可以在许多语言中生成相同字节码标准的代码,从而在模块之间提供容易的互操作性。(如。. NET (c#库可以在VB项目中引用)

当然有更深入的解释,但总的来说这些是优点。