首页 > 自考资讯 > 高考百科

详解JDK,JRE,JVM之间的区别与联系,请区别jdk、jre、jvm三者之间的区别与联系

小条 2024-06-27

概述

JDK、JRE、JVM之间的关系和区别一直比较模糊,所以今天写这篇文章来理清三者之间的关系。请让我考虑一下~

03e9e442aecd4245970f8ca210980882~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=RFmaTHsQpcXwqO5lrdrBjnPUuM8%3D

一、JDK(Java Development ToolKit)Java开发工具

除了jre之外,JDK还包含用于将Java源文件编译成class文件的类。它还包括源自Java 的API。

6802c08e9d7e4da695abe529229546de~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=IbGqf0LFgyrVQBUWb4PbhdFbH1w%3DJDK常用包:

java.lang:这是String、Math、Integer、system、thread等系统的基类,提供了常用的函数。

java.io包含与输入/输出相关的类,例如:文件操作。

java.net:包含与网络相关的类,如URL、URLVinnection等。

java.util:这是一个系统辅助类,特别是集合类、集合、列表、映射等。

java.sql:是数据操作类、连接、语句、结果集等。

JDK 共有三个版本。

J2SE,标准版,标准版,J2EE,企业版,J2ME,微型版,主要用于移动设备上的Java应用程序。

也就是说,JDK是所有JAVA的核心,包括Java运行环境(Java Runtime Environment)、Java工具集(如javac/java/jdb)、Java基类库(即包含Java API)。 rt.jar)。

二、JRE(Java Runtime Enviroment)Java运行环境

JRE 包括JVM

JRE是保证Java程序能够运行所需的基础环境。这意味着开发Java程序时不能使用JDK。因此,JDK包含了JVM。此外,所有Java 程序都必须在JRE 中运行。

e19f42449cf54e87a6f667ecf33233c4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=O6EX3BYj4vFwto%2BG%2FmnJKQP%2FoKc%3DJDK包含JVM和JAVA核心类库和支持文件。与JDK相比,开发工具——不包括编译器、调试器或其他工具。

三、JVM(Java Virtual Mechine)Java虚拟机

JRE 是Java 运行时环境。 Java 运行在底层JVM 或Java 虚拟机上。由于JVM 的跨平台能力,Java 虚拟机用于加载类文件。 Java是为平台编写的,因此它是跨平台的,而JVM是平台相关的。

bca6287378c848fba9a44f3841242434~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=dx0YZoRW0MuJz8madA9tARsP%2FTM%3DJVM是JRE的一部分,是通过在真实计算机上模拟各种计算机功能来实现的。 JVM有自己完整的硬件架构,包括处理器、堆栈、寄存器以及相应的指令系统。 JVM的主要工作是解释自己的指令集(即字节码)并将其映射到本地CPU指令集或OS系统调用。事实上,Java语言运行是跨平台的,各个操作系统使用不同的JVM映射规则,使得Java语言独立于操作系统,提供跨平台的功能。 JVM 不考虑更高级别的Java 源文件,只考虑从源文件生成的类文件。一个class文件由JVM指令集、符号表和一些辅助信息组成。

JDK,JRE,JVM三者间的关系

其实,JDK安装目录下有一个名为jre的目录,该目录下包含两个文件夹:bin和lib。这里,你可以把bin看作是jvm,lib是jvm工作所需的类库。

fad171bc42844054b0c5450ba6db4c36~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=g%2Fpc1zj7RlrU4KUY7K4T3rmATI0%3D a7e81f0850674269b72738ce6697029b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=oiRThhKP3RyhQtHLvItfoRgT0NA%3D 也就是说,当你使用JDK开发了JAVA程序(调用JAVA API)后,文本Java文件通过JDK的编译器(javac)编译成JAVA字节码,这些JAVA字节就会运行在。 JVM 解析这些字节码并将它们映射到CPU 指令集或操作系统系统调用。

稍后我会分享一些DevOps和DBA的内容。感兴趣的朋友请留意。

dff42df79f604d2890456724f3310953~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720053465&x-signature=efJahy7H55CxLeQgBrFc7%2F18UeU%3D

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢