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、JVM三者间的关系相关推荐

  1. JDK JRE JVM三者之间的关系,以及JDK JRE包含的结构是什么?

    JDK包含JRE.JRE包含JVM. JDK=JRE+Java开发工具(javac.exe.java.exe.javadoc.exe) JRE=JVM+javase的核心类库

  2. jdk jre jvm三者之间的关系

    定义 JDK(Java SE Development Kit),Java标准开发包,它提供了编译.运行Java程序所需的各种工具和资源,包括Java编译器.Java运行时环境,以及常用的Java类库等 ...

  3. JDK,JRE,JVM三者的关系

    JDK=JRE+Java的开发工具(javac.exe,java.exe,javadoc.exe) JRE=JVM+Java核心类库

  4. JDK、JRE、JVM三者间的关系(有图)

    考链接:http://playkid.blog.163.com/blog/static/56287260201372113842153/ 文章摘要: 结构如下: 正是 JVM 的存在,使得 java ...

  5. JDK,JRE,JVM三者关系

  6. c++ 多线程 垃圾回收器_JavaSE基础代码(3)--JavaSE程序入口,JDK,JRE,JVM垃圾回收器的关系与作用...

    在前面的几章中我们一直在进行环境的搭建,然而并没有对代码进行讲解,那么从现在起,我们开始撕开Java程序神秘的外衣.来了解他.以便于完成我们想要实现的功能 JavaSE程序入口: 在生活中我们要做一个 ...

  7. jdk jre jvm 关系

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

  8. jdk jre jvm的关系

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

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

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

最新文章

  1. Tech·Ed 2006博客园聚会
  2. SurfaceView、GLSurfaceView、SurfaceTexture、TextureView简单对比
  3. 做一个java项目要经过那些正规的步骤
  4. 8个爽滑如丝的Windows小软件,不好用你拿王思葱砸死我
  5. 检测输入路径是否存在错误_为什么存在用户输入错误
  6. Java技术回顾之JNDI--命名和目录服务基本概念
  7. 电机控制系统php,电机控制系统的未来发展变化趋势
  8. 【mac】vmware tools 在菜单上显示灰色无法安装的问题
  9. 腾讯生死年 | 畅言
  10. 华为p40pro如何升级鸿蒙,可以升级到鸿蒙OS的四款华为手机,相信都没有后悔入手!...
  11. 图像特征的特点及其常用的特征提取与匹配方法
  12. 证件照(1寸2寸)拍摄处理知识汇总
  13. 人脸识别(81关键点)经典开源核心代码
  14. HTML-day02会员登录案例
  15. javaweb学习记录-qqzone项目-结构分析
  16. 「收藏级干货」蜡烛图交易形态全解
  17. 读《史蒂夫•乔布斯传》(四)
  18. 正版win10要不要装360_要不要装榻榻米?
  19. 开源应用程序打包工具
  20. 2010南非世界杯预选赛之路

热门文章

  1. PMCAFF原创作者人气榜,快来看看你排第几?
  2. redis持久化方案比较
  3. COCO 数据集的使用
  4. FOSCommentBundle功能包:改变样式
  5. 移动端横屏返回后无法恢复原来大小解决方案
  6. 关于java Servlet,Struts,springMVC 的线程安全问题
  7. exit()和_exit()函数
  8. eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布Session Bean
  9. Redis 集群介绍
  10. 《转》python学习--基础上