01-JDK、JRE、JVM之间的区别?-创新互联

在这里插入图片描述

创新互联主营盐田网站建设的网络公司,主营网站建设方案,app开发定制,盐田h5微信平台小程序开发搭建,盐田网站营销推广欢迎盐田等地区企业咨询1.JDK

JDK(Java SE Development Kit),Java标准开发包,它提供了编译、运⾏Java程序所需的各种⼯具和资源,包括Java编译器、Java运⾏时环境,以及常⽤的Java类库等.
在这里插入图片描述

JDK安装目录中真正在运行java时起作用的是 bin、include、lib、 jre这四个文件夹。

bin:各种开发工具, 最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
2.JRE

JRE( Java Runtime Environment) ,Java运⾏环境,⽤于运⾏Java的字节码⽂件。JRE中包括了JVM以及JVM⼯作所需要的类库,普通⽤户⽽只需要安装JRE来运⾏Java程序,⽽程序开发者必须安装JDK来编译、调试程序。

在这里插入图片描述

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

JRE的组件如下:

1.部署技术,包括部署、Java Web Start 和 Java 插件。

2.用户界面工具包,包括抽象窗口工具包 (AWT)、Swing、Java 2D、可访问性、图像 I/O、打印服务、声音、拖放( DnD)和输入法。

3.集成库,包括接口定义语言 (IDL)、Java 数据库连接 (JDBC)、Java 命名和目录接口 (JNDI)、远程方法调用 (RMI)、基于 Internet Inter-Orb 协议的远程方法调用 (RMI-IIOP)和脚本。

4.其他基础库,包括国际支持、输入/输出 (I/O)、扩展机制、Beans、Java 管理扩展 (JMX)、Java 本机接口 (JNI)、数学、网络、覆盖机制、安全性、序列化和Java XML 处理 (XML JAXP)。

5.Lang 和 util 基础库,包括lang 和 util、管理、版本控制、zip、仪器、反射、集合、并发实用程序、Java 存档 (JAR)、日志记录、选项 API、参考对象和正则表达式。

6.Java 虚拟机 (JVM),包括Java HotSpot 客户端和服务器虚拟机。

3.JVM

JVM(Java Virtual Mechinal),Java虚拟机,是JRE的⼀部分,它是整个java实现跨平台的最核⼼的
部分,负责运⾏字节码⽂件。

无论你使用 JRE 还是 JDK 运行的 Java 程序都会进入 JVM,而 JVM 负责逐行执行 Java 程序,因此它也被称为解释器。

4.三者联系

JVM不能单独搞定class的执行,解释class的时候JVM需要调用JRE的类库lib。在JRE目录里有两个文件夹bin和lib,可以认为bin里的就是jvm,lib里的则是jvm工作所需要的类库,而jvm和 lib和起来就称为JRE。

利用JDK(调用JAVA API)开发了JAVA程序后,通过JDK中的编译程序(javac)将java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

5.三者区别

JDK和JRE区别:JDK的bin目录里有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户是不需要的。JDK还有jar.exe, javadoc.exe等用于开发的可执行指令文件。证实了一个jdk是开发环境,而jre是运行环境。

JRE和JVM区别:仅JVM并不代表可以执行class,因为JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:01-JDK、JRE、JVM之间的区别?-创新互联
文章URL:http://scyanting.com/article/cohicc.html