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. 时间戳转化为时间格式 时间格式转为时间戳
  2. 剑指Offer - 面试题62. 圆圈中最后剩下的数字(约瑟夫环 递推公式)
  3. 【Elasticsearch】 es join 多表关联如何设计
  4. 微信电话本的未来在农村
  5. Test for Activity to display Deslayed
  6. 用计算机编纂家谱的作用,家谱软件的比较
  7. java.lang.reflect.UndeclaredThrowableException
  8. 2022年最新用最简单粗暴的方式讲解:pytest简介,框架基础应用,运行方式,失败用例重跑。直击核心
  9. 综合latch 规避
  10. 2012年终总结之pcode概述
  11. 文本的检测、识别实战:使用 Tesseract 进行 OpenCV OCR 和文本识别
  12. pthon之异常、文件练习题
  13. python里range什么意思_python里range什么意思
  14. 什么是反向代理,如何区别反向与正向代理
  15. 笔记——嵌入式软件开发学习(一)
  16. google海底光缆图_Google领头建造横跨太平洋海底光缆PLCN:连接香港,120Tbps
  17. 华为鸿蒙系统HarmonyOS学习之一:鸿蒙HarmonyOS系统简介
  18. vb.net 教程 8-3 数据库操作3
  19. 奥鹏教育大学计算机基础,奥鹏南开大学《大学计算机基础》20秋学期在线作业参考试题答案...
  20. CleanMyMac X2021中文官方永久免费全新系统清理管家软件

热门文章

  1. 大规模视觉定位地图关键技术:综述
  2. php 文件上传至OSS及删除远程阿里云OSS文件
  3. 微信小程序自定义提示框制作的简单方法
  4. python数据分析(二)——numpy数组的计算
  5. iView中table表格中使用select选框和下拉菜单的方法
  6. Matlab中的round()函数
  7. 《宝贝,你听到了吗》歌词
  8. Servlet中(Session、Cookies、Servletcontext)的基本用法
  9. iOS9.0 升级后的常见问题
  10. ARCGIS10.6安装教程和心得