1.JDK(Java Development Kit)

  • JDK是Java开发工具包,是Sun公司针对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)

2.JRE(Java Runtime Environment)

  • JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。

  • JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。

  • 与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

3.JVM(Java Virtual Machine)

  • java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。

  • 也就是说.class文件并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

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

  • JVM对于主流的操作系统都有相应的版本,目的就是将 统一的字节码 编译成对应操作系统识的二进制码,然后执行。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的(字节码),就可以在多种平台上不加修改地运行。从而实现 Write once Run Anywhere

4.三者联系图

什么是JDK、JRE和JVM?相关推荐

  1. JDK, JRE 和JVM的区别

    2019独角兽企业重金招聘Python工程师标准>>> Java 开发工具包 (JDK) Java开发工具包是Java环境的核心组件,并提供编译.调试和运行一个Java程序所需的所有 ...

  2. JDK,JRE和JVM三者的关系以及java的运行机制,环境变量,三大版本,特点

    JDK,JRE和JVM 1.JVM Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台. 所谓跨平台性, ...

  3. JDK, JRE和JVM的区别与联系

    #####JDK: java development kit, java开发工具包,针对开发者,里面主要包含了jre, jvm, jdk源码包,以及bin文件夹下用于开发,编译运行的一些指令器. ## ...

  4. Java中JDK,JRE和JVM之间的关系

    初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Envi ...

  5. [转载] 弄懂JDK、JRE和JVM到底是什么

    参考链接: JDK JRE和JVM之间的区别 首先是JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK). 在JDK的安装目录下有一个jre目录,里 ...

  6. jdk和jre和jvm区别_JDK,JRE和JVM之间的区别

    jdk和jre和jvm区别 The difference between JDK and JRE and JVM is one of the popular interview questions. ...

  7. 一、JDK、JRE、JVM的区别

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

  8. java教程系列二:Java JDK,JRE和JVM分别是什么?

    多情只有春庭月,犹为离人照落花. 概述 本章主要了解JDK,JRE和JVM之间的区别.JVM是如何工作的?什么是类加载器,解释器和JIT编译器.还有一些面试问题. Java程序执行过程 在深入了解Ja ...

  9. 全称是什么_JDK,JRE和JVM是什么?三者有什么关系?二分钟搞定!!!

    What is Java JDK,JRE and JVM 1.1 明确什么是 JDK, JRE和JVM JDK:英文全称 Java Development Kit,是Java的开发工具包 JDK是提供 ...

  10. jdk、jre、jvm有什么区别?

    简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境.SDK是Software Development Kit 一般指软件开发包,可以包括函数库.编译程序等. 如果你需要运行 ...

最新文章

  1. C++找出数组中的第一个非重复整数的算法(附完整源码)
  2. oracle数据库空间估算
  3. [Java Plasterer] Java Components 3:Java Enum
  4. 使用Roslyn脚本化C#代码,C#动态脚本实现方案
  5. vba数组dim_NDArray — —一个基于Java的N-Dim数组工具包
  6. 熊猫分发_熊猫新手:第一部分
  7. python 代码文件路径注意事项
  8. nginx 搭建http协议拖动播放 FLV 视频播放服务器
  9. 改善深层神经网络:超参数调整、正则化以及优化——2.8 Adam算法(Adaptive Moment Estimation)
  10. 基于JAVA+SpringMVC+Mybatis+MYSQL的在线超市管理系统
  11. 【计算机网络笔记】计算机网络定义分类
  12. 标签生成html怎么转换,如何进行HTML到XML转换以生成封闭标签?
  13. java程序中验证框架四规则(初级知识)
  14. 数字化中台前导--企业架构TOGAF简介
  15. PNAS | 人类线粒体的双亲遗传模式
  16. 任务:单片机扩展一片DAC0832,实现一路三角波发生器。
  17. 搭建自己的网站(服务器羊毛篇)
  18. (转)BluePrint Framemaker学习
  19. android 自定义ImageView实现图片手势滑动 多点触摸放大缩小效果
  20. Proteus仿真-步进电机

热门文章

  1. uniapp中使用阿里彩色图标
  2. Mininet 上启用 DCTCP 和 ECN 进行拥塞控制、使用 HTB 和 RED 队列进行流量控制
  3. MySQL数据库模糊查询什么时候可以使用到索引
  4. php微信号轮播系统,微信小程序的轮播功能
  5. spoon mysql教程_spoon新手入门教程
  6. 文献分享 | 神经突生成相关基因的突变诱发脑瘫发生风险 (IF: 38.3)
  7. Linux下Signal信号
  8. 数据库SQL(十二):分布式锁服务Chubby
  9. 安装无线监控需要服务器么,无线 监控系统安装 方案
  10. 摘要算法 特点与分类