本篇文章由 泉州SEO www.234yp.com 整理发布,Java教程 www.234yp.com/Article/198121.html 谢谢合作!
Java教程任何语言或者软件的运行都需要环境。就像人要生活在空气中,鱼要活在水中,喜阴植物就不能放在阳光下暴晒一样,任何对象个体的存在都离不开其所需要的环境,编程语言亦是一样的。

Java 语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开发的话,JRE 是明显不够了,这时候就需要 JDK。

其实啊,JDK 就是 JRE 加上一些常用工具组成的。JDK 不仅能运行已经被编译好了的 Java 程序,还能支持我们编译 Java 程序(JDK=JER+各种工具)。

在《JVM及Java跨平台原理》一节中,我们学习了 Java 虚拟机 JVM。那么 JDK,JVM 和 JRE,那他们三个有什么区别呢?又有什么联系呢?如果你学到这里产生这样一个疑问,我想说,你到目前为止,学的很不错!那现在为你们整理一下三者的关系和区别吧:

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

所以说大家看出来三者的关系了吗?其实如下图所示:

  
由图中可以看出以下几点:

  • JDK=JRE+多种Java开发工具
  • JRE=JVM+各种类库
  • 这三者的关系是一层层的嵌套关系。JDK>JRE>JVM

Java教程:Java中JVM、JRE和JDK三者有什么区别和联系?相关推荐

  1. 3.Java中JVM, JRE和JDK的关系是什么?

    3.Java中JVM, JRE和JDK的关系是什么? JVM(Java Virtual Machine),Java虚拟机 JRE(Java Runtime Environment),Java运行环境, ...

  2. Java中JVM、JRE和JDK三者有什么区别和联系?

    Java 语言的开发运行,离不开 Java 语言的运行环境 JRE.没有 JRE 的支持,Java 语言便无法运行.当然,如果还想编译 Java 程序,小项目开发的话,JRE 是明显不够了,这时候就需 ...

  3. 好程序员Java教程分享之jvm篇

    好程序员java教程分享之jvm篇,在前面的文章中,介绍了JVM内存模型分为:堆区.虚拟机栈.方法区.本地方法区和程序计数器,其中堆区是JVM中最大的一块内存区域,在Java中的所有对象实例都保存在此 ...

  4. return true Java_[Java教程]js中return,return true,return false的用法及区别

    [Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...

  5. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  6. c ibatis mysql实例_[Java教程]java程序中的ibatis连接mySql的基本实例

    [Java教程]java程序中的ibatis连接mySql的基本实例 0 2015-03-16 00:01:32 属性文件:SqlMap.properties1 driver=com.mysql.jd ...

  7. java中分支_[Java教程]JavaScript中的分支结构

    [Java教程]JavaScript中的分支结构 0 2016-06-30 23:03:37 说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的 ...

  8. java xfire webservice 异步_[Java教程]Java中使用webservice,简化开发(xfire的webservice)...

    [Java教程]Java中使用webservice,简化开发(xfire的webservice) 0 2016-01-07 15:00:11 首先,使用到的jar先导入项目中, xbean-sprin ...

  9. java中的console是干什么的_[Java教程]javascript中,你真的会用console吗?

    [Java教程]javascript中,你真的会用console吗? 0 2015-08-11 17:00:09 使用console进行性能测试和计算代码运行时间 对于前端开发人员,在开发过程中经常需 ...

最新文章

  1. 戴尔服务:为企业转型导航
  2. Linux内核中的GPIO系统之(3):pin controller driver代码分析
  3. 【学术相关】以前写过水论文怎么办?
  4. python测试代码性能_使用python timeit 模块检测代码性能
  5. iOS设计模式 - 桥接
  6. NAS 百科 —— http://baike.baidu.com/item/NAS%E7%BD%91%E7%BB%9C%E5%AD%98%E5%82%A8
  7. 新编译的GDAL1.9 C/C++ C# Python版本
  8. javascript 日常
  9. Emacs 配置 Python 编程环境
  10. 毕业设计论文选题系统系统用例图_基于UML的毕业设计管理系统的分析与设计
  11. Godot GUI探讨
  12. 多功能扩音器索爱S-318,教师、导游们的辅助神器
  13. java合成wav在linux出错,Java audio fails to play wav file in Linux
  14. earn the python in hard way习题31~35的附加习题
  15. .lnk文件格式解析
  16. 循环相乘取整法C语言,华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...
  17. 网易云音乐——Web学习day6
  18. 小玩意 - CSDN 插件(Chrome版)
  19. amazeui分页打印
  20. 地方性自媒体如何运营?微信公众号可以做地方性自媒体吗?

热门文章

  1. 大数据隐私保护技术之脱敏技术
  2. 物联网搜集大量数据协助制定业务策略 成为银行业竞争利器
  3. Java笔记3:Eclipse添加jar包
  4. python 把函数作为参数 ---高阶函数
  5. [转] Figuring out why my SVCHOST.EXE is at 100% CPU without complicated tools in Windows 7
  6. mysql-5.6.24-win32.zip 下载 安装 配置 创建数据库
  7. socket编程,简单查看
  8. VirtualBox 安装ghost版windows XP
  9. codeblocks调试问题--单步调试遇到breakpoint不停---不能单步调试--运行按钮是灰色但是没有dos窗口...
  10. SharePoint 2013 文档库中PPT转换PDF