金字塔结构 JDK=JRE+JVM+其它 运行Java程序一般都要求用户的电脑安装JRE环境(Java Runtime Environment);没有jre,java程序无法运行;而没有java程序,jre就没有用武之地。

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。

JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JVM( Java Virtual Machine    (Java虚拟机)),是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

JDK(Java Development Kit)

JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。
JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
①SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
②EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
③ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
Java Runtime Environment(JRE)
是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
RE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
JVM(java virtual machine)
就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

转载于:https://www.cnblogs.com/klose11/p/6827096.html

什么是JDK JRE JVM?相关推荐

  1. JDK,JRE,JVM区别与联系

    很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天特写此文,来整理下三者的关系. JDK : Java Development ...

  2. jdk jre jvm 关系

    很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天特写此文,来整理下三者的关系. JDK : Java Development ...

  3. java实验原理和图例_图例解析JDK,JRE,JVM概念及使用

    本文向大家简单介绍一下JDK,JRE,JVM概念及用法,为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分.所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文 ...

  4. 名词解释 JDK JRE JVM

    名词解释 JDK JRE JVM JRE JRE: Java Runtime Environment JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java语言编写 ...

  5. AJPFX关于JDK,JRE,JVM的区别与联系

    很多朋友可能跟我一样,对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天我们来整理下三者的关系.JDK : Java Development ToolKit(Java开发工具包). ...

  6. jdk jre jvm的关系

    http://blog.csdn.net/gaopeng0071/article/details/9914683 JDK : Java Development ToolKit(Java开发工具包).J ...

  7. JDK/JRE/JVM之间的关系

    > JDK Java Development ToolKit(Java开发工具包). JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆J ...

  8. jdk,jre,jvm的包含关系

    jdk,jre,jvm的包含关系 他们三个是包含关系 jdk包含jre,jre包含jvm jdk(Java Development ToolKit):java开发工具包 jre(Java Runtim ...

  9. Path环境变量是什么?有什么用?怎么工作?JDK,JRE,JVM,集成开发工具是什么?有什么用?怎么工作?JDK安装包文件结构?有必要设置Path环境变量?Eclipse和IDEA开发工具的运作

    简介 ​ 本文主要讲述,Path环境变量是什么?有什么用?怎么工作的?JDK,JRE,JVM,集成开发工具是什么?有什么用?怎么工作的?JDK安装包文件结构?有没有必要设置Path环境变量?Eclip ...

  10. 【剧前爆米花--爪哇岛寻宝】初识Java,了解Java代码的运行机制及JDK,JRE,JVM等

    作者:困了电视剧 专栏:<JavaSE语法与底层详解> 文章分布:这是一篇知识点较为基础的文章,我会先将JavaSE相关的知识给罗列一遍,然后在后续的文章中会对其中重要的点再逐一进行底层剖 ...

最新文章

  1. Javascript Tip(1) 操作剪贴板
  2. 增加行星轮减速后机械臂调试
  3. 值得收藏的45个Python优质资源
  4. php怎么去除变量里的换行,php去除字符串换行符示例分享
  5. Linux vim的三种模式
  6. 波音737-800座位图哪个好_「科普」汽车哪个座位才安全?很多人都不知道
  7. PTA c语言 求幂级数展开的部分和
  8. SIP协议栈读书笔记1
  9. 分布式设计 —— 容错与主备
  10. python网站开发实例 flask_python-flask框架web服务接口开发实例
  11. 立Flag 学习Ng - 1
  12. 今晚20:00整!中国首个量子计算操作系统即将发布
  13. 基础篇:6.7)形位公差-基本规则 Basic Rules
  14. 【论】PISCES: A Programmable, Protocol-Independent Software Switch
  15. DASCTFNepCTF 部分writeup
  16. Navicat 的使用
  17. 数据平台建设的痛点,如何进行元数据治理?
  18. 鱼眼深度估计!环视近场感知系列之几何预测
  19. IIR数字滤波器设计(数字信号处理)
  20. 天猫双 11 背后:409 亿次安全保护,全链路保障每个购物场景

热门文章

  1. Docker以及Registry介绍
  2. 走进JavaWeb技术世界4:Servlet 工作原理详解
  3. testlink配置修改
  4. 十大你不一定知道的牛逼技术问答社区
  5. Thread+Handler 线程 消息循环(转载)
  6. rails获取json内容
  7. FTP服务端管理软件:Serv-U和filezilla
  8. 邮件服务器篇:杀毒引擎选择论据
  9. 咬文嚼字:刹车错当油门酿车祸?!
  10. 【渝粤教育】电大中专工程图学基础_1作业 题库