JAVA-JRE / JDK / JVM(平台独立性)

时间:2017-01-28 04:04:53

标签: java

Java是一种独立于平台的语言。但是,JVM依赖于机器。所以,我的问题是:java的哪些部分与平台无关? JRE,JDK还是JVM?请解释一下。

2 个答案:

答案 0 :(得分:1)

JVMJREJDK这些都是java语言的支柱。每个组件分开工作。 JDK和JRE在物理上存在,但JVM是一个抽象机器,意味着它实际上不存在。

enter image description here

<强> JVM

JVM(Java虚拟机)是一个软件。它是一个规范,提供可以执行java bytecode的运行时环境。它实际上并不存在。

对于所有硬件和软件,JVM都不相同,例如对于windows,JVM是不同的,而对于Linux,JVM是不同的。 JVM,JRE和JDK是平台相关的,因为每个操作系统的配置不​​同。但是,Java与平台无关。

<强> JRE

Java运行时环境(JRE)是Java Development Kit(JDK)的一部分。它包含用于开发Java应用程序的一组库和工具。 Java Runtime Environment提供了执行Java应用程序的最低要求。它实际存在。它包含一组库以及JVM在运行时使用的其他文件。

enter image description here

<强> JDK

Java Development Kit(JDK)是主要组件。它实际存在。它是编程工具和JRE,JVM的集合。

enter image description here

答案 1 :(得分:0)

所有3都取决于平台。

  1. JVM - &gt;平台依赖。
  2. JRE - &gt;由JVM和其他一些东西组成。由于它包含JVM,因此它取决于平台。
  3. JDK - &gt;由JRE,编译器和其他一些东西组成。由于它包含JRE,而JRE又包含JVM,因此它取决于平台。
  4. 编译之前和之后的java代码是平台无关的。您可以在Windows上编译并使用Unix的jvm在