JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个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。

  

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

  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虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

JDK和JRE的含义和作用相关推荐

  1. JDK与JRE的关系和path的作用浅谈

    JDK与JRE的关系和path的作用浅谈 摘要:JDK与JRE的关系以及path的配置对于初学者是要明白的问题,那么具体的JDK与JRE的关系是什么呢?那么本文讲给你简单介绍. 标签:JDK与JRE关 ...

  2. java jdk的作用_jdk的作用是什么?jdk和jre区别介绍

    之前给大家介绍了jdk是什么意思,那么接下来要给大家讲到的就是jdk的作用以及jdk和jre之间的区别,一起来了解一下吧! 一.jdk的作用是什么? jdk是java的开发编译环bai境. 它里面包含 ...

  3. java的 jre是什么_Java中JDK和JRE的区别是什么?它们的作用分别是什么?

    转载:https://www.cnblogs.com/lsw9/p/8685623.html Dear All: 首先请允许我为大家介绍下什么是Jre?什么是jdk? JRE: JRE是Java Ru ...

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

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

  5. 什么是环境变量、JDK和JRE;以及JDK与JRE有什么区别

    文章目录 一.什么是环境变量(environment variables) 二.系统变量和用户变量的区别 三.什么是JDK.JRE? 四.JDK和JRE的区别有什么区别 五.结束 一.什么是环境变量( ...

  6. jdk与jre的区别(转)

    很多程序员已经干了一段时间java了依然不明白jdk与jre的区别. JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境 ...

  7. JDK和JRE的概念与区别

    一.JDK(Java Development Kit):是Java语言的软件开发工具包(SDK).含编译器.调试器和其他工具. (1)JDK包含的基本组件包括: javac – 编译器,将源程序转成字 ...

  8. JDK和JRE的区别-zz

    很多程序员已经干了一段时间java了依然不明白jdk与jre的区别. JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境 ...

  9. Java基础:JDK、JRE、JVM的区别与联系

    1. 详细介绍 1.1 JVM – java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.clas ...

最新文章

  1. 什么是PRD、MRD与BRD?
  2. 解决linux下中文文件名显示乱码问题
  3. ZBrush中如何做不同图案的遮罩
  4. linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题
  5. 爬虫-在请求头中添加cookie键值对 访问登陆后可见的页面
  6. 固态硬盘简称是不是ssd_小白科普:没想到你是这样的固态硬盘
  7. 随机森林算法(Random Forest)原理分析及Python实现
  8. 深度学习笔记:利用预训练模型之特征提取训练小数据集上的图像分类器
  9. 奇葩报错之返回值为 -1073741515 (0xc0000135) ‘未找到依赖 dll‘
  10. Python实战回归模型-消费者人群画像-信用智能评分(基于中国移动用户数据)
  11. linux两个邮件服务,Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)
  12. Leetcode每日一题2020.11.13第328题:奇偶链表
  13. 无人驾驶13:PID控制器
  14. ansible 以及填坑
  15. 什么都可以丢,唯独不能丢了你
  16. 百度输入法下载|百度拼音输入法下载
  17. 关于调用高德地图路径规划清除问题解决方案【js】
  18. 狄利克雷卷积_莫比乌斯反演及狄利克雷卷积
  19. 数据库SQL SERVER常用命令说明
  20. WPF Prism框架之Dialog

热门文章

  1. Unity----Panes, panels and windows(官方教程)
  2. python捕获信号退出_[python]如何处理python程序的主动退出问题
  3. 高效使用数码相机的诀窍
  4. 数字化“虚拟电厂”,精准管控助推节能减碳(一)
  5. The following classes could not be excluded beacuse they are not auto-configuration classes: - xx.xx
  6. Fibonacci数列递归算法与非递归算法
  7. java 脏数据_Java程序的脏数据问题是什么?
  8. 十六进制颜色代码表(文字型)
  9. 智慧交通,网约车终端解决方案基于arm平台的展现
  10. Python使用UUID库生成唯一ID