欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JDK、JRE、JVM三者间的联系与区别

程序员文章站 2022-07-09 20:50:37
JDK(Java SE Development Kit),Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。 ......

  有java编程经验的程序员应该都知道:java程序是运行在jvm(java虚拟机)上的,在开发程序之前都要配置java开发环境,其中首先要做的就是jdk的安装和配置,那么jdk、jvm、jre到底有何联系和区别呢?想必并不是每一个程序员都能说得清楚的,本文接下来将带你了解它们之间的关系。

JDK、JRE、JVM三者间的联系与区别

一、jdk

  jdk(java se development kit),java标准开发包,它提供了编译、运行java程序所需的各种工具和资源,包括java编译器、java运行时环境,以及常用的java类库等。

  下图是jdk的安装目录:

  JDK、JRE、JVM三者间的联系与区别

二、jre

   jre( java runtime environment) 、java运行环境,用于解释执行java的字节码文件。普通用户而只需要安装 jre(java runtime environment)来运行 java 程序。而程序开发者必须安装jdk来编译、调试程序。

  下图是jre的安装目录:里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

JDK、JRE、JVM三者间的联系与区别

三、jvm

  jvm(java virtual mechinal),java虚拟机,是jre的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。所有平台的上的jvm向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。

  当使用java编译器编译java程序时,生成的是与平台无关的字节码,这些字节码只面向jvm。不同平台的jvm都是不同的,但它们都提供了相同的接口。jvm是java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的java字节码就可以在该平台上运行。

四、区别与联系

  1. jdk 用于开发,jre 用于运行java程序 ;如果只是运行java程序,可以只安装jre,无序安装jdk。
  2. jdk包含jre,jdk 和 jre 中都包含 jvm。
  3. jvm 是 java 编程语言的核心并且具有平*立性。

 

如需转载,请注明作者(冰湖一角)和链接https://www.cnblogs.com/bingyimeiling/p/10266949.html

欢迎关注微信公众号【java典籍】,收看更多java技术干货!

 ▼微信扫一扫下图↓↓↓二维码关注

 JDK、JRE、JVM三者间的联系与区别