Jdk 和 jre 的 关系和区别

区别:

JDK:是Java Development Kit 的简称–>翻译过来就是:Java 开发工具包。是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。
JRE:是Java Runtime Environment 的简称–>翻译过来就是:Java 运行时环境,是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的

这就是他们俩的区别:目标用户不同:jdk是给苦逼程序员用的,里面全是给他们打包好的工具。Jre是给像运行java程序的用户用的。

看图理解:

1.有一位程序员,他准备开始写程序了

2.这位程序员,有点懒,不想自己动手写底层已经写好的程序,于是

3.然后,jdk就满足了他的要求

4.该程序员,拿到StringBUffer工具类之后,开始埋头撸代码


5.程序写好之后,想实验一下能不能运行

6.Jdk回应他,我内置了jre,可以运行java程序

7.jdk中的jre运行写好的java程序

8.虽然知道有bug,但是该程序员没有处理(现实中一定要处理哦,这里知识娱乐,加深一下记忆)


9.这个时候来了一个愣头青,闪亮登场

10.这个愣头青买了这个程序,还以为占了便宜

11.愣头青想要,运行这个程序

12.于是他找到了jre,因为愣头青只要运行程序,不需要开发,所以他就没有使用jdk的必要

13.后续发现bug,和开发人员发生了一些暴力。。。。。。。。。你们自己想象

还可以这么理解:
jdk相当于造汽车的工具,里面打包好了扳手,锤子,螺丝刀,皮尺布等等工具,一并丢给造汽车的工程师,工程师想用哪个就用哪个,不用的就放哪儿不影响。

接下来说说jre,工程师造好汽车,卖给要用车的人,那他买回去不能放着吧,要开吧,开车的环境要有吧,不能在房间里开吧,肯定是要上马路上的,那这jre就相当于马路,是汽车能正常跑起来的环境。

联系:

要说两者有啥联系,其实也没多大联系,就是jdk包里存放了jre,按照上面的比喻,就是,打包给汽车工程师时,又给了汽车工程师一条马路,用来测试造好的汽车在正常的马路环境下能不能正常跑起来。

原创文章,转载请标明出处: https://blog.csdn.net/qq_41530937/article/details/105444848

一定要看的干货

Jdk 和 jre 的 关系和区别的更多相关文章

  1. Java学习2 - JDK和JRE和JVM的区别_JDK的下载安装_环境变量配置

    一 JDK和JRE和JVM的区别 Jdk: Java Development kit - Java 开发工具 JRE: Java Runtime Environment - java运行环境 JVM: ...

  2. jdk、jre与jvm的区别与联系

    为了学习数据库,重装了系统,之前前一直在用eclipse,现在准备换成myeclipse,这之前当然需要重新设置环境变量,顺手写下有关jdk.jre与jvm的区别与联系以供交流参考. 首先来说一下JD ...

  3. JDK、JRE和JVM的区别与相互之间的联系

    工作这么久,好多时间都在研究一些并发.多线程.分布式.框架等这些东西,但是前几天突然被人问到jdk.jre.jvm的区别与联系,瞬间觉得一脸懵逼,感觉还是有必要重新整理一下一些比较基本的java知识了 ...

  4. Java虚拟机(JVM),JDK,JRE和JVM的区别——通过示例学习Java编程(2)

    Java虚拟机(JVM),JDK,JRE和JVM的区别 作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid ...

  5. 什么是JDK什么是JRE?JDK和JRE的关系

    什么是JDK什么是JRE?JDK和JRE的关系 我们看看来自百度百科的解释: JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心 ...

  6. JDK、JRE、JVM的区别

    JDK: JDK(Java Development Kit)顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的.它除了包括完整的JRE(Java Runtime Environment),Jav ...

  7. java基础---JDK、JRE、JVM的区别和联系

    当我们学习java语言时,首先需要安装到我们电脑上的就是jdk.jdk是java语言的开发环境,只有安装了jdk,我们才能使用java语言开发程序. JDK=JRE+开发工具包 JRE=JVM+核心类 ...

  8. Java 技术体系(JDK 与 JRE 的关系)、POJO 与 JavaBeans

    Java 技术体系的分层结构(不同的颜色表示不同的层次),尤其注意 JDK 与 JRE 之间的包含关系: 图见 Java Platform Standard Edition 7 Documentati ...

  9. JDK、JRE 和 JVM 的区别

    JDK JDK 是 Java Development Kit 的缩写,JDK 是 Java 语言的软件开发工具包( SDK ).它提供了Java 开发.编译.运行需要的文件和环境. 如果你是 Java ...

随机推荐

  1. js 拖拽实现面向对象

    1.js 支持面向对象编程,但只是基于面向对象,不使用类或者接口.2.演变 工厂模式------->构造函数模式---------->原型模式 工厂模式的缺点: ①函数内部new ,不太符 ...

  2. 从火箭发场景来学习Java多线程并发闭锁对象

    从火箭发场景来学习Java多线程并发闭锁对象 倒计时器场景 在我们开发过程中,有时候会使用到倒计时计数器.最简单的是:int size = 5; 执行后,size—这种方式来实现.但是在多线程并发的情 ...

  3. C++基础 学习笔记之一:源代码的格式化

    C++基础 学习笔记之一:源代码的格式化 1. 源代码中的标记与空白 C++中的语句是以分号表示语句的结束.在C++中空格和回车以及制表符均为相同作用,即三者通常可以互相替代. 例如可以将一个简单的m ...

  4. seldom之数据驱动

    seldom之数据驱动 如果自动化某个功能,测试数据不一样而操作步骤是一样的,那么就可以使用参数化来节省测试代码. seldom是我在维护一个Web UI自动化测试框,这里跟大家分享seldom参数化 ...

  5. Ext.grid 分页

    1. 定义变量,存储,每页显示多少条数据 var itemsPage = 25; 2.grid数据源 //列表源 var oStore = Ext.create('Ext.data.Store', { ...

  6. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(四)

    前景提要 jenkins与gitlab结合,实现代码自动拉取:https://www.cnblogs.com/zisefeizhu/p/12548662.html jenkins与kubernetes ...

  7. CSS实现垂直居中布局

    垂直居中 每日更新前端基础,如果觉得不错,点个star吧

  8. nmap加载nse脚本在内网渗透中的使用-上

    转载自:https://mp.weixin.qq.com/s/zEgHxJEOfaiYVZYmg7NnXA? 大多数情况下,大家都认为nmap只是一个扫描工具,而不把当成是一个渗透工具.nmap集成了 ...

  9. Flutter 实现不同样式(有样式) 的TextField (可自定义),类似微博#话题#、@用户,(给TextField加TextSpan)

    描述 先上效果图 在项目中,有 @ 和 话题功能,需要在编辑时即可回显,但是官方原生的TextField不支持对部分文字定义不同的样式,所以封装了一个. 注意:这不是富文本插件,不支持在输入框中显示图 ...

  10. IdentityServer4源码解析_4_令牌发放接口

    目录 identityserver4源码解析_1_项目结构 identityserver4源码解析_2_元数据接口 identityserver4源码解析_3_认证接口 identityserver4 ...