JDK和JRE的区别是什么?他们都有什么作用

article/2025/10/1 13:51:17

相信很多java的初学者都卡在了JDK和JRE这儿,两者到底什么区别, 多数都是云里雾里的。其实笔者想说的是JDK 和JRE并没有想象中那么简单。

先给大家简单地介绍下Java的各种集成开发工具:

JDK:开发工具包

JRE:(运行环境)运行时类库

JVM:java虚拟机

小总结:JDK包含JRE包含JVM

一、JDK——开发环境(核心)

java development kit 的缩写,意思是JAVA开发工具,我们写文档做PPT需要office 办公软件,开发当然需要开发工具了,说到开发工具大家肯定会想到Eclipse,但是如果直接安装Eclipse你会发现它是运行不起来 是会报错的,只有安装了JDK,配置好了环境变量和path才可以运行成功。这点相信很多人都深有体会。

JDK主要包含三部分,

第一部分就是Java运行时环境,JVM。

第二部分就是Java的基础类库,这个类库的数量还是非常可观的。

第三部分就是Java的开发工具,它们都是辅助你更好的使用Java的利器。

JRE——运行环境
java runtime environment (java运行时环境)的缩写

1,1_JDK中的JRE

如下图:jdk中包含的jre,在jre的bin目录里有个jvm.dll,既然JRE是运行时环境,那么运行在哪?肯定是JVM虚拟机上了。另,jre的lib目录中放的是一些JAVA类库的class文件,已经打包成jar文件。

1.2_第二个JRE(独立出来的运行时环境)

如下图,不管是JDK中的JRE还是JRE既然是运行时环境必须有JVM。所以JVM也是有两个的。

三、JVM——转换环境

java virtuak machine (java虚拟机)的缩写。

大家一提到JAVA的优点就会想到:一次编译,随处运行,说白了就是跨平台性好,这点JVM功不可没。

JAVA的程序也就是我们编译的代码都会编译为Class文件,Class文件就是在JVM上运行的文件,

只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

JVM也是一门很深的学问,感兴趣的童鞋可以深入研究,只有好处,没有坏处。

根据本人多年从业以及学习经验,录制了一套最新的Java精讲视频教程,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,你可以加群654631948领取下学习资料,面试题,开发工具等,群里有资深java老师做答疑,每天也会有基础部分及架构的直播课,也可以加我的微信renlliang2013做深入沟通,只要是真心想学习Java的人都欢迎。

java基础教程:https://ke.qq.com/course/149432?tuin=57912c43

 

 




 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/7JkvP9MQ.shtml

相关文章

Java之jdk与jre的区别

很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。 JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 …

[JAVA学习] JDK与JRE的区别

最近在学习Python,安装Python IDE ——PyCharm,提示未安装Jave Run Time,于是到Oracle官网下载Jave安装包,发现有JDK和JRE两个版本。 JRE是Java Runtime Environment的缩写,顾名思义是java运行时环境,包含…

JDK、JRE的区别?以及相关面试题

1.JDK和JRE是java面试的基本问题。 下图是它们的直观区别,可从它们的面向对象、主要作用和组成部分三方面对比。其详细如下图所示: 2.JDK就是Java Development Kit 的英文缩写。 1). 主要面向开发人员。开发人员在软件开发时使用的SDK(Soft…

eclipse配置jdk,jdk与jre的区别

由于某些原因,需要重新安装eclipse,当然jdk和tomcat也要重新配置,于是发现eclipse居然自带一个jre 了解jre和jdk 那jdk是干啥的呢我看我安装的jdk文件夹里有两个文件夹呵呵呵呵。 搜了一下原来:JRE(Java Runtime Enviroment)是Jav…

JDK和JRE的区别和联系

大家应该都知道JDK和JRE是什么的缩写,但是当面试官问道 “请用你所学的java知识,告诉我JDK是干什么的?” , “JRE有什么作用?” , “这两者有什么区别和联系?” 等问题时,可能就说的…

JDK和JRE的区别

JDK是 Java 语言的软件开发工具包(SDK),主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVMJava系统类库)和JAVA工具(在JDK的安装目录下有一个jre目录,里…

Java一步到位!彻底了解JDK、JRE、JVM分别是什么及它们之间的联系

大多数人刚接触Java的时候都会经常看到JDK、JRE、JVM,但可能一直迷迷糊糊,不知道它们之间真正的作用和含义,而了解JDK、JRE、JVM分别是什么及它们之间的关系有助于我们更加深刻的理解java语言的特性。 Java程序是运行在JVM(Java虚拟机)上的&…

JDK 和 JRE 有什么区别?

面向人群不同: JDK是面向开发人员使用的SDK。 JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者。 重要程度不同: JRE的地位就象一台PC机一样,编写的Java程序必须要JRE才能运行。只要你的电脑安装了JRE&am…

JDK和JRE有什么区别?

1. JDK 1). JDK是Java Development Kit的缩写,是Java的开发工具包,主要面向开发人员。 2). JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisual…

进程虚拟地址

在前面的章节中,我们主要关注的是内核的虚拟地址空间的管理。从本节开始,我们重点关注管理用户空间的方法,其中由于种种原因,这个比内核地址空间管理更复杂。本节主要围绕以下内容: 用户进程的虚拟地址空间是Linux的一…

【此后无良辰】 实验3 进程的创建

实验目的 了解操作系统中内核程序和应用程序之间的关系;了解操作系统创建进程的过程;掌握在应用程序中创建进程的方法。 实验内容与记录 3.1 复制SDK文件夹的目的是什么?尝试在复制后把本地所生成的EOS内核项目文件夹删除,应用…

Linux进程管理(二)进程调度

Linux进程管理 Linux进程管理(一)进程数据结构 Linux进程管理(二)进程调度 Linux进程管理(三)进程调度之主动调度 Linux进程管理(四)进程调度之抢占式调度 Linux进程管理&#…

c语言静态结构体指针变量,C语言 结构体和指针详解及简单示例

指针也可以指向一个结构体,定义的形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1 { "T…

多进程图像

多进程图像 1 多进程设计2 一个大概的设计思路3 一个实际的进程切换案例3.1 进程的创建 - fork函数3.2 进程的切换 - schedule函数3.3 进程状态转换图3.4 如何执行我们自己的代码 参考资料 所谓多进程图像就是:多道程序,交替执行。本章主要介绍操作系统为…

操作系统之进程创建与进程状态

一、进程的创建 阻塞状态:正在运行的进程由于某些原因调用阻塞原语把自己阻塞(如果不把自己阻塞的话会一直占用处理机),等待相应的事件出现后才被唤醒,事件完成回到就绪状态。 通常这种处于阻塞状态的进程也排成一个队列。有的系统则根据阻塞…

linux进程管理原理

Linux 是一种动态系统,能够适应不断变化的计算需求。 linux 计算需求的表现是以进程的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程…

进程系统调用——fork函数深入理解

转载 进程系统调用——fork函数深入理解 当我们在一个现代系统上运行一个程序的时候,我们会得到一个假象,就好像我们的程序是系统中当前运行的唯一程序。我们的程序好像是独占的使用处理器和存储器。处理器就是无间断的一条一条地执行我们程序中的指令。…

进程调度实验

一、实验目的 通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转调度算法,进一步掌握进程调度的概念和算法,加深对处理机分配的理解。了解进程(线程)的调度机制。学习使用进程(线程)调度算法…

基于C++实现的进程调度算法

资源下载地址:https://download.csdn.net/download/sheziqiong/85650672 一、问题描述与分析 1.1 设计构想 程序能够完成以下操作:选择调度算法;查看历史记录;创建进程;进程调度:进程创建完成后就选择进程调度算法,每次执行的结果都在屏幕上输出。 1…

短进程优先调度算法c语言spf,短进程优先的调度算法详解

短进程优先的调度算法详解 发布时间:2020-05-17 04:52:01 来源:51CTO 阅读:293 作者:张立达 一、SPF算法简介 SJF算法SJF(shortest job first)是以进程的运行时间长度作为优先级,进程运行时间越短,优先级越高。 SJF算法的缺点必须预知进程的运行时间。即使是程序员也很难…