JDK.JRE和JVM

cnblogs 2024-08-08 08:09:00 阅读 52

目录

    <li>1.详细介绍
    • 1.1 JDK(Java 开发工具包)
    • 1.2 JRE(Java运行时环境)
    • 1.3 JVM(Java 虚拟机)
  • 2 三者区别与联系

1.详细介绍

1.1 JDK(Java 开发工具包)

​ JDK是java开发工具包,基本上每个学java的人都会先在机器 上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包 含JVM。

bin:最主要的是编译器(javac.exe)

include:java和JVM交互用的头文件

lib:类库

jre:java运行环境

注意:这里的bin、lib文件夹和jre里的bin、lib是 不同的,总的来说JDK是用于java程序的开发,而jre则 是只能运行class而没有编译的功能。eclipse、idea等 其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你 选中jre路径就ok了。

1.2 JRE(Java运行时环境)

  1. Java 虚拟机(JVM):JVM 是 JRE 的核心组件,它负责执行 Java 字节码并管理 Java 程序的运行时环境。

  2. 核心类库(Core Libraries):JRE 包括了一系列的核心类库,这些类库包含了 Java 编程语言的基本功能和工具。一些重要的核心库包括:

    ​ java.lang:提供了 Java 语言的基本类和异常处理机制。

    ​ java.util:包含各种实用工具类,例如集合框架(如 ArrayList、HashMap)和日期时间处理类。

    ​ java.io:用于输入和输出操作的类库,包括文件操作和流处理。

    ​ java.net:用于网络通信的类库,支持创建网络连接和数据传输。

  3. AWT 和 Swing(用户界面库):JRE 包括 Abstract Window Toolkit (AWT) 和 Swing,这些库用于创建图形用户界面(GUI)应用程序。它们提供了各种组件和工具,允许开发人员构建交互式的窗口应用程序。

  4. Java 核心包(Java API):JRE 还包括其他的 Java API,用于访问不同领域的功能和服务,如数据库访问(JDBC)、XML 处理(Java XML API)、安全性(Java Security API)等。

  5. Java 运行时支持:JRE 包括支持 Java 程序的运行时环境,包括内存管理、垃圾回收、线程管理等。这些组件保证了 Java 程序的稳定性和性能。

  6. 部分标准扩展(Optional Extensions):JRE 还可以包括一些可选的扩展,这些扩展提供了额外的功能,如 Java Naming and Directory Interface (JNDI)、Java Authentication and Authorization Service (JAAS) 等。这些扩展通常不是所有 JRE 实现的一部分,而是根据需要进行安装或配置。

1.3 JVM(Java 虚拟机)

JVM,是JRE的一部分。它是整个java实现跨平台的最核心的部分。JVM可以理解为是一个虚拟出来的计算机,是可运行java字节码文件的虚拟计算机。

​ 它主要负责把 Java 程序生成的字节码文件,解释成具体系统平台上的机器指令,让其在各个平台运行。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。

​ 不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。要想在不同的操作系统上运行Java程序,就需要在不同操作系统上安装对应的JVM。所以,JVM有Windows版本、MAC版本、Linux版本等。

2 三者区别与联系

JDk=java开发工具+JRE

JRE=JVM+Java类库

  • JDK 用于开发,JRE 用于运行Java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。

  • JDk包含JRE,JDK 和 JRE 中都包含 JVM。

  • JVM 是 Java 编程语言的核心并且具有平台独立性。![a19faab0f87a18c097350b474c9a91ed](C:\Users\dzf\Documents\Tencent Files\3293410015\nt_qq\nt_data\Pic\2024-07\Ori\a19faab0f87a18c097350b474c9a91ed.png)



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。