Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尽管严重依赖JVM,Java如何独立于平台?_Java_C++_Jvm - Fatal编程技术网

尽管严重依赖JVM,Java如何独立于平台?

尽管严重依赖JVM,Java如何独立于平台?,java,c++,jvm,Java,C++,Jvm,如果任何Java程序都需要运行JVM才能执行,为什么说Java是平台独立的 当我使用C++程序时,需要Turbo C编译器;当我有一个Java程序时,我需要有JVM。但是C++不是平台无关的,但是java是! 虽然现在我已经做了将近2年的Java开发人员,但我始终牢记这一点 提前感谢。首先要记住的是,Java被称为独立于平台的语言,因为它主要遵循“编译一次,到处运行”的核心原则 现在你们还记得什么是平台独立性,我们将进一步把这个短语分为平台独立性。平台是指计算机硬件的组成部分,基本上是微处理器和

如果任何Java程序都需要运行JVM才能执行,为什么说Java是平台独立的

当我使用C++程序时,需要Turbo C编译器;当我有一个Java程序时,我需要有JVM。但是C++不是平台无关的,但是java是! 虽然现在我已经做了将近2年的Java开发人员,但我始终牢记这一点

提前感谢。

首先要记住的是,Java被称为独立于平台的语言,因为它主要遵循“编译一次,到处运行”的核心原则

现在你们还记得什么是平台独立性,我们将进一步把这个短语分为平台独立性。平台是指计算机硬件的组成部分,基本上是微处理器和操作系统的体系结构。独立就是自由

当Java被称为独立于平台时,它意味着Java程序可以在任何操作系统和硬件上运行,而无需更改代码中的任何行

现在的问题是它如何独立于平台

基本上,编译代码是CPU执行程序的一组指令。编译Java程序时,生成的字节码是虚拟CPU的指令集。这个虚拟CPU负责对不同平台的字节码进行不同的解释,但在任何地方都以完全相同的方式执行

这个虚拟CPU在Java中称为JVM,也称为Java虚拟机


的早期作者理解了这一点,并将java的平台依赖性保持在虚拟机中,并且使java编程语言独立于平台。

不需要编译器,当然也不需要像Turbo C这样的古董来运行C++程序,只是为了构建它。但一旦构建完成,它将只在某些平台上运行,无论是否安装了编译器或任何其他软件,而Java程序将在任何有JVM的平台上运行。这就是独立在这种情况下的含义。对于有JVM的平台来说,它是独立于平台的。那么,有任何操作系统和硬件运行JVM吗?有趣…如果它被创建了,那么是的,JVM可以在任何为它制作的东西上运行。@JIV如果创建了什么?如果是为了什么?如果外星人来到地球,我们只需要有人为他们的硬件制作JVM应用程序。所以答案是肯定的,若创建了JVM,那个么JVM可以在任何东西上运行:JVM只是一种规范,而JVM不能为每一个硬件都创建。