JDK,JRE,JVM之间的关系

Java中的专有名词——JVMJREJDK到底是什么关系 JDK(Java Development Kit),它是功能齐全的 Java SDK,是提供给开发者使用,能够创建和编译 Java 程序的开发套件。它包含了 JRE,同时还包含了编译 java 源码的编译器 javac 以及一些其他工具比如 javadoc(文档注释工具)、jdb(调试器)、jconsole(基于 JMX 的可视化监控⼯具)、javap(反编译工具)等等。:JVM负责执行Java字节码,是Java程序运行的核心,但它并不包括Java类库和其他运行环境所需的资源。 阅读详情

1 图形理解

在这里插入图片描述

2 JDK(Java Development Kit):JAVA开发工具包

JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
JDK包含JRE,而JRE包 含JVM。

2.1 jdk所含目录

打开我们自己下载的JDK
发现底下有4个文件夹:bin,include,jre,lib

在这里插入图片描述

2.1.1 那么这四个文件夹又是干嘛的呢?

在这里插入图片描述

首先要了解javac.exe是编译功能
java.exe是执行class,如果没有编译的话是不能执行的,同理,javac.exe编译完以后如果没有java.exe执行的话也是没有运行的

2.2 配置环境

我们在配置环境的时候就是JDK的路径
我们的PATH底下配置的是JDK的bin目录
在这里插入图片描述
在这里插入图片描述

2.3 JDK中的bin

在这里插入图片描述
在JDK和JRE的区别中 JRE的bin中是没有javac.exe文件的.
当安装好jdk后,打开bin目录,有两个重要的exe文件:javac.exe(编译器
和java.exe(.class文件执行器)

既然看到了javac.exe文件,那么问题来了? javac.exe是干什么的?
javac.exe(编译器)
.class文件(JVM文件)
java.exe(.class文件执行器)

在这里插入图片描述
JAVA文件的执行过程 参考: https://www.cnblogs.com/wangjiming/p/10315983.html

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

3 JVM(java virtual machine):JAVA虚拟机

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

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

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

1.三者联系:
JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JVM+Lib=JRE。总体来说就是,我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

2.三者区别:
a.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。
b.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

参考至 :
https://www.cnblogs.com/zhangzongxing01/p/5559126.html
https://ihyperwin.iteye.com/blog/1513754
https://blog.csdn.net/ancientear/article/details/79483592

1位2路选择器设计 阅读详情

相关推荐

EDKII环境配置完整版

参考博客【EDK2 UDK2018的环境搭建】:https://blog.csdn.net/qq_39155263/article/details/82965744下载EDK2 1.直接从https://github.com/tianocore/edk2/ 网站下载.zip压缩文件 2.运用svn 从http://svn.code.sf.net/p/edk2/code/trunk/edk2edk2下载 3.安装Visual Studio2017 安装其他Tool 1.IASL 从https..

tianpu2320959696的博客 1827

简述java中JDKJREJVM之间关系

初学java平台,很容易搞不清楚java中的一些概念。以下简述一下本人对JDKJREJVM之间关系: 概念 JDK(Java Development Kit)简单理解就是Java开发工具包,是java的核心所在;JRE(Java Runtime Enviroment)是Java的运行环境,JVM( java virtual machine)也就是常常听到Java虚拟机。JDK是面向开发者的,JRE是面向使用JAVA程序的用户,JVM是java实现跨平台和系统的媒介所在。 一、JDK(Java Dev

m0_67401417的博客 1万+

Arduino Uno R3原理图

Arduino Uno R3原理图, PDF文档

JDKJREJVM 之间关系

JDKJREJVM 之间关系

m0_56673710的博客 1万+

Java基础:JDKJREJVM之间关系

作为一个Java开发者,只会用Java,却不知什么是JDKJREJVM是什么,以及他们之间有什么联系。本文总结了JDKJREJVM三者的关系与区别。 JDKJREJVM之间关系一、JDK二、JRE三、JVM四、三者的联系五、三者的区别六、总结 一、JDK JDK是Java开发工具包,其中包括编译工具(javac.exe)打包工具(jar.exe)等,也包括JRE。 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工.

~ 1万+

Java:JDKJREJVM关系(图示详解,一眼就能看明白!)

简介 JDK(Java Development Kit,Java开发工具包) JDK为Java应用程序提供了基本的开发和运行环境,是整个Java的核心,包括: 1.Java运行环境(JRE) 2.JDK类库,如:java.lang、java.io、java.awt、java.swing等类 3.Java开发工具,如:javac.exe(编译工具)、java.exe(运行工具)、javadoc.e...

西北种田文的博客 7626

JDKJREJVM之间关系

java学习之初,都会学习到JDKJREJVM之间的区别与联系。本文是作者在学习这部分内容过程中的一些个人的总结归纳。

weixin_39549410的博客 5204

JDKJREJVM三者之间关系

基本介绍: JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。 1、JDK JDK是java开发工具包,在其安

wu_you_gu_liang的博客 3396

Java中JDKJREJVM之间关系

是三个核心概念,其关系可概括为。

2301_80215285的博客 1169

Java中jdk jre jvm 三者之间关系

Java中的 JDK JRE JVMJDK JRE JVM三者之间联系 JDK JRE JVM JDK: Java Development Kit (JDK). Java的开发工具包。其包含了Java开发的工具(Javac、Java、jdb等)和基本类库(Java API)。 JRE:Java Runtime Environment (JRE). Java的运行环境。包含了Java运行环境。 J...

Dianna_YY的博客 774

JDKJREJVM之间关系

发信人: HoyTotoro (桃花岛主), 信区: Java 标 题: JDKJREJVM之间关系zz 发信站: BBS 蓝色星空站 (Wed May 25 15:05:41 2005) 如果安装了JDK,会发同你的电脑有两套JRE,一套位于 /jre 另外一套位于 C:/Program Files/Java/j2re1.4.1_01 目录下后面这套比前面那套少了Server端的Java虚

简简单单,平平淡淡 3036

JDKJREJVM三者的关系和安装

JDKJREJVM三者的关系和安装

Serven的博客 1万+

JDK,JRE,JVM关系

一、认识jdkJREJVM 1、JDK是Java程序开发是的开发工具包。 2、JRE是Java程序运行时需要的运行环境。 3、JVM(Java虚拟机)包含许多应用程序的类的解释器和类加载器。 二、JDKJREJVM关系 JRE=JVM+Java SE标准库 JDK=JRE+开发工具集(例如Javac编译工具) 总结来讲:JDK > JRE > JVM 正常情况下我们只需要安装JDK就可以满足所有需求。 ...

i1103的博客 7915

JAVA中JVMJREJDK三者之间关系

JREJDKJVM三者之间关系

大前端开发工程师、互联网方向创业者 2289

这3个Word热门技巧,太实用了!

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 Word是其中最基础也最常用的办公软件,Word中有哪些不得不会的操作技巧呢?今天小编就来跟大家分享3个热门的Word技巧,

Aarongao2019的博客 342

JDKJREJVM 分别是什么关系

JDK(Java Development Kit)、JRE(Java Runtime Environment)和JVM(Java Virtual Machine)在Java中各自扮演不同的角色,并且它们之间存在明确的依赖和包含关系。需要注意的是,Java的“一次编写,到处运行”的特性正是得益于JVM的跨平台性,它可以在不同的操作系统和硬件平台上模拟相同的Java运行环境。Java的运行过程主要涉及源代码的编译、类加载以及JVM(Java Virtual Machine)的执行。二、java运行的过程。

m0_46552684的博客 1181

简述JVMJREJDK关系及作用

很多Java的程序员在写了很多代码之后,你问他JREJDK是是什么关系JVM又是什么东西,他是不知道的。 JVM(Java Virtual Machine) Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,JVM 是 Java 能够跨平台的核心。 JRE (Java Runti...

cherry_vicent的专栏 5688

JDKJREJVM相关知识点

例如类java.lang.Object,它存放在rt.jart之中.无论哪一个类加载器都要加载这个类.最终都是双亲委派模型最顶端的Bootstrap类加载器去加载.因此Object类在程序的各种类加载器环境中都是同一个类.相反.如果没有使用双亲委派模型.由各个类加载器自行去加载的话.如果用户编写了一个称为“java.lang.Object”的类.并存放在程序的ClassPath中.那系统中将会出现多个不同的Object类.java类型体系中最基础的行为也就无法保证.应用程序也将会一片混乱.

qq_69331283的博客 3389
上一篇: HashMap源码解析
下一篇: ArrayList源码解析
有个机车梦
博客等级 码龄9年 54粉丝 256原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值