JRE相当于PC,各种Java类库(通常使用Java编写)相当于PC上的操作系统,可以方便的操作硬件资源,而Java中的原生类库(通常使用C编 写)相当于Windows操作系统中的win32API,而JVM就相当于PC中的硬件了,负责运行和计算。而JDK只是一个编写各种程序或者Java类 库的工具。

 

ArkTS和 java的区别_Server

从上图看,JDK>JRE>JVM

一、基本概念

  1. JDK,Java SDK最早叫Java Software Develop Kit,后来改名为JDK,即Java Develop Kit。JDK作为Java开发工具包,主要用于构建在Java平台上运行的应用程序。
  2. JRE(Java Runtime Environment,Java运行环境),也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工具也是Java程序,也需要 JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录, 用于存放JRE文件。
  3. JVM(Java Virtual Machine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。

 

二、三者的关系可以与PC,操作系统,硬件之间的关系做比较:

JRE相当于PC,各种Java类库(通常使用Java编写)相当于PC上的操作系统,可以方便的操作硬件资源,而Java中的原生类库(通常使用C编 写)相当于Windows操作系统中的win32API,而JVM就相当于PC中的硬件了,负责运行和计算。而JDK只是一个编写各种程序或者Java类 库的工具。

 

三、在同一个版本的JRE中,虚拟机也有不同版本。

在windows下,有client及server两种版本,在JDK安装目录\jre\bin目录下可以看到client及server目录,里面都具有对应版本的jvm.dll,在linux下,只有server版本。

 

JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。

可使用java –version查看版本信息:

ArkTS和 java的区别_ArkTS和 java的区别_02