Java虚拟机是否依赖于?

时间:2013-11-23 02:36:54

标签: java jvm

JVM(Java虚拟机)平台是否依赖?

使用JVM有什么好处,让Java成为翻译语言?

5 个答案:

答案 0 :(得分:1)

是的,一般来说 JVM是平台相关的,因为它是针对特定平台实现的。

使用JVM的优势在于,至少在理论上,它使用Java平台编写的代码不可知,因此相同的代码可以在任何平台上运行而无需修改代码。

答案 1 :(得分:0)

拥有虚拟机(例如Java虚拟机 - 其'一次编写,随处运行承诺)有许多优点;其中有 -

  1. 您的应用程序变为独立于操作系统
  2. 您的应用程序变得独立于架构
  3. 换句话说,就竞争性供应商的变化而言,您的应用程序(至少在某种程度上)会变得面向未来。 Still(IMO)最大的优势是Java应用程序和框架在Linux,Mac和Windows上运行相同。虽然每个都需要它自己的虚拟机实现(例如,实际的Java运行时环境是特定于平台的,但它在source form中可用)。

答案 2 :(得分:0)

与操作系统对话的JVM部分取决于平台。但Java字节码是独立的,或者至少应该是(边缘情况可能存在)。

JVM的优点就是能够编译一次,并且能够在任何支持的平台上运行可执行字节码。这与您必须重新编译以适应其他操作系统或处理器之前的情况相反。

顺便说一句,Java不是PHP或javascript等翻译/解释语言。它实际上是在JVM作为操作系统上方的中间人或抽象层编译的。

答案 3 :(得分:0)

JVM本身并不是独立的。当你下载jdk时,你可以看到你必须首先选择你的平台。你必须清除你的机器和操作系统类型,包括unix-like,windows或mac,32位或64位。但我们总是说java是一种独立于平台的编程语言,因为JVM可以作为java应用程序和下划线操作系统之间的中间层,从而使Java开发人员可以专注于同一个JVM,忽略操作系统和硬件环境的异构。

答案 4 :(得分:0)

JVM is a specification that provides runtime environment in which java bytecode can be executed.

Jvm将您的字节码解释为机器可理解的代码

JVM执行以下操作:

 - Loads code
 - Verifies code
 - Executes code
 - Provides runtime environment 

要做到这一点,必须编写代码,所以这里完成了规范的实现(sun主要提供)。
这个实现是 JRE

JVM也告诉我必须发生以下事情:

 - Memory area
 - Class file format
 - Register set
 - Garbage-collected heap
 - Fatal error reporting etc.

所以是JVM强烈依赖平台,找到详细信息在JVM Details