JDK.JRE和JVM
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运行时环境)
-
Java 虚拟机(JVM):JVM 是 JRE 的核心组件,它负责执行 Java 字节码并管理 Java 程序的运行时环境。
-
核心类库(Core Libraries):JRE 包括了一系列的核心类库,这些类库包含了 Java 编程语言的基本功能和工具。一些重要的核心库包括:
java.lang:提供了 Java 语言的基本类和异常处理机制。
java.util:包含各种实用工具类,例如集合框架(如 ArrayList、HashMap)和日期时间处理类。
java.io:用于输入和输出操作的类库,包括文件操作和流处理。
java.net:用于网络通信的类库,支持创建网络连接和数据传输。
-
AWT 和 Swing(用户界面库):JRE 包括 Abstract Window Toolkit (AWT) 和 Swing,这些库用于创建图形用户界面(GUI)应用程序。它们提供了各种组件和工具,允许开发人员构建交互式的窗口应用程序。
-
Java 核心包(Java API):JRE 还包括其他的 Java API,用于访问不同领域的功能和服务,如数据库访问(JDBC)、XML 处理(Java XML API)、安全性(Java Security API)等。
-
Java 运行时支持:JRE 包括支持 Java 程序的运行时环境,包括内存管理、垃圾回收、线程管理等。这些组件保证了 Java 程序的稳定性和性能。
-
部分标准扩展(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)
热门相关:田园晚色:肥妇三嫁良夫 万妖帝主 全能千金燃翻天 至尊医道 幻想世界大穿越