java虚拟机为什么能够让java程序运行在不同平台?

java虚拟机为什么能够让java程序运行在不同平台?

因为java程序是采用编译执行的,先将java源文件编译成class字节码文件,运行的时候再通过虚拟机一步一步的解释成各个平台能识别的机器码文件,意思就是java程序并没有一次性生成和平台有关的机器码文件,而是在运行的时候再生成与平台有关的机器码文件
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-09
因为有适用于不同平台的java虚拟机 他们对于字节码文件的解释机制是一样的 也就是只要java源文件一经编译 便能在运行于不同平台之下的java虚拟机以同样的方式解释执行 这就使得java程序能够运行于不同平台
第2个回答  2008-12-09
因为java虚拟机是针对不同平台开发的,所以他能够知道同样的代码在这种平台下如何执行。所以。。。。。
第3个回答  2008-12-09
因为java国在不同平台 都有派大使(不同平台上安装的虚拟机是不一样的) 大使们会翻译的
第4个回答  2008-12-17
一台JAVA虚拟机就是一台JAVA解释器。经过JAVA解释器的解释才得到具体的机器可执行的代码。这样,只要实际上使用的操作平台上有JAVA解释器,这个平台就可以执行所有JAVA程序。
JAVA程序的翻译过程称为半编译、半解释。

java的跨平台工作原理
Java的运行流程是:程序员写了源代码(Source Code,.java后缀,跨平台),然后经过编译器编译成字节码(Byte Code,.class后缀,二进制文件),字节码是所有虚拟机都能理解的中间文件。然后交给虚拟机(每个平台都有对应的虚拟机)去运行。所以对“write once, run anywhere”更准确的理解是,“一次编译...

java跨平台是什么意思?
其次,Java的跨平台能力可以实现不同系统之间的数据传输,为用户提供了更为方便的体验。最后,一次编写多次运行的模式能够节省资源、提高效率和降低成本,提高了企业的竞争力。Java跨平台的实现原理主要依赖于JVM(Java虚拟机)的存在。JVM作为Java程序运行的环境,通过将Java程序的不同部分分别解释和编译到对...

java为什么可以部署到不同的服务器上正常运行?
1. Java的跨平台是指java应用程序可以运行在windows、linux等操作系统上,而这种跨平台性是通过JVM(java虚拟机)来实现的。2. 而Java EE应用可以部署到tomcat,Weblogic等Web服务器上运行是因为那些Web服务器实现了Java EE规范(servlet、jsp规范等)。

Java 程序为何要运行在 jvm 虚拟机上?
Java程序需要运行在JVM(Java虚拟机)上,主要有以下几个原因:1. 平台无关性:Java程序编写的代码是平台无关的,这意味着只要源代码相同,就可以在不同的平台上运行。这是通过将Java源代码编译成字节码文件(.class文件),然后JVM解释执行这些字节码来实现的。这样,只要在不同的平台上安装有相同版本...

java虚拟机是什么意思
Java虚拟机(Java Virtual Machine,JVM)是一种可以在不同的操作系统上运行Java程序的虚拟计算机。它是在Java平台下所定义的不同程序运行的环境,使得Java程序可以实现跨平台的特性。JVM在Java编译器对Java源代码进行编译并生成字节码之后,将这些字节码解释为不同平台机器指令来执行。JVM提供的不止是一个...

Java的跨平台特性是指它的源代码可以在多个平台运行
错 Java代码是字节代码,就像楼上所说的Java是运行在虚拟机上的,虚拟机将Java字节代码和具体的平台给隔开,不同平台上面运行的虚拟机是不一样的,而这些虚拟机对Java代码要求是一样的,所以Java可以在多个平台运行

Java语言的跨平台特点是由什么保证的?
Java语言的跨平台特点是由Java虚拟机(JVM)保证的。JVM是一个能够解释和执行Java字节码的软件,它可以在不同的操作系统上运行,并且能够自适应不同的硬件环境。这样,Java语言编写的程序就不需要针对每个平台进行修改和编译,只需要一次编译成字节码,然后交给JVM来执行就可以了。这就实现了一次编写,到处...

如何理解Java“一次编译到处运行”的特性?
简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是...

java的"一次编译,到处运行"的机制是如何实现的?
所以java的跨平台是离不开虚拟机的支持的。虚拟机充当着java源程序和操作系统之间的中间,不同的操作系统只需要寻找相应的中介就可以实现在不同的操作系统上运行。而java的编译只是吧.java文件编译为.class字节码文件而已,然后把字节码交给虚拟机去执行。虚拟机在执行的时候是读一句字节码文件人后解释...

为什么说java是与平台无关的语言?这种机制有什么技术来实现。
Java是与平台无关的语言,因为它采用了“编译一次,到处运行”的设计思想,通过虚拟机技术实现了跨平台运行的能力。首先,Java的跨平台特性主要得益于其独特的编译和执行过程。在Java中,源代码首先被编译成字节码,而不是直接编译成特定硬件平台上的机器码。这些字节码不依赖于任何特定的硬件或...

相似回答