为什么没有与Java不同的其他语言的虚拟机?

时间:2013-12-07 21:15:56

标签: java compiler-construction programming-languages vm-implementation jvm-languages

为什么需要Java虚拟机?一个人能够运行用其他语言编写的代码而不使用他们的虚拟机,而java需要JVM来运行代码。为什么我们有一个用于Java的虚拟机,而对于其他流行的语言,如C ++或python,是否需要这样的虚拟机?

3 个答案:

答案 0 :(得分:4)

Java可能是最受欢迎的基于虚拟机的语言,但它绝不是唯一的想象力。 .NET Framework使用不同的虚拟机。没有一种针对.NET Framework的语言在Java中与JVM一样具有那么多的支配地位,但是除了为.NET框架编写代码之外,许多人不会将这些语言用于其他目的。

从历史上看,实际上有很多语言都是基于虚拟机的。也许Java之前最着名的独立于平台的VM是USCD P-system,它可能在Apple II系列计算机上使用最广泛,但也可用于PC。一些基于P系统并最初为Apple发布的像Wizardry这样的游戏后来被PC发布;这类游戏的PC版本几乎与Apple版本一样,因为它们运行的​​代码几乎相同。

答案 1 :(得分:0)

Java虚拟机意味着Java代码在每台机器上运行,并且上面有正确版本的虚拟机。

与此同时,用其他语言编写的不在虚拟机上运行的程序可能需要不同的代码编译才能在不同的操作系统上运行。

答案 2 :(得分:0)

主要原因是java可以在任何可以下载jvm的操作系统上运行,它的运行方式与你在计算机上运行的方式相同。