1. java三大版本比较

  1.1 java SE

      javaSE 是java标准版的简称,其定位是个人计算机应用(应用原生界面比较ugly) 全称:Java Platform Standard Edition  主要用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。例如,Java应用程序开发平台Eclipse。

  1.2 java EE

      javaEE 是java企业版的简称,其定位是服务器端应用 (目前应用最广泛的版本)全称:Java Platform Enterprise Edition 是在JavaSE的基础上构建的他提供Web 服务、组建模型、管理和通信API.可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和web2.0应用程序。

  1.3 javaME

      javaME 是java微型版的简称,主要定位是移动产品和车载产品等(基本没有使用,大部分移动产品使用Android)全称:Java Platform Micro Edition Java ME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模式、许多内置的网络协议以及对于动态下载的连网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需要编写一次,就可以用于许多设备,而且可以利用每个设备的本级功能。

  1.4 包含关系

      

2. JVM JRE 与 JDK 的关系

  2.1 JVM

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

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

JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

  2.2 JRE

      JRE 全称 Java Runtime Environment 是java运行时环境,这里面包含了运行java程序所需要的所有类库,一台机器上只有安装了jre才可以运行java程序

      JRE 是包含 JVM的,并且还包含了一些运行java程序所需要的类库和资源文件等。

  2.3 JDK

      JDK 全称 Java Development Kit 是java开发工具包,是Sun Microsystems针对Java开发员的产品。JDK 中包含了很多关于java程序开发的工具,例如编译工具javac,文档生成工具javadoc等等等等。

      同理,JDK是包含JRE 和 JVM 的,并且在此基础上还包括了一些开发工具,调试工具,以及用于管理程序的管理工具等。

  2.4 关系图

 

3. 其他一些补充知识

  3.1  三大版本更名是在jdk5.0中   

①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。

  3.2 java实现跨平台的原理

      这里要从java的编译方式说起,java源代码编译之后并不是直接生成一个可执行文件(.exe),而是生成对应的java字节码文件(.class),这个字节码电脑的并不能运行,而是需要java虚拟机来再次进行解释,才能被cpu执行,也就是说,java程序并不是直接运行在cpu上的,而是运行在java虚拟机JVM上面的。

      对于不同的从操作系统,有不同的java虚拟机。虽然是不同的虚拟机,但是他们可以识别相同的字节码文件。这样,就达到了一次编译,到处运行的目的,也就是java跨平台的原理。

    

转载于:https://www.cnblogs.com/xiaobai1202/p/10794771.html

java-01 JAVA三大版本比较JDK、JRE、JVM 的关系相关推荐

  1. day01--java基础编程:计算机基础知识 ,java语言概述,java开发环境搭建,eclipse概述,创建简单java项目,JDK JRE JVM的关系,java开发中的命名规范,编程风格

    1 Day01–Java开发环境+HelloWorld 1.1 计算机基础知识 资料下载网址:刘沛霞 18600949004 code.tarena.com.cn tarenacode code_20 ...

  2. 【剧前爆米花--爪哇岛寻宝】初识Java,了解Java代码的运行机制及JDK,JRE,JVM等

    作者:困了电视剧 专栏:<JavaSE语法与底层详解> 文章分布:这是一篇知识点较为基础的文章,我会先将JavaSE相关的知识给罗列一遍,然后在后续的文章中会对其中重要的点再逐一进行底层剖 ...

  3. jdk jre jvm的关系

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

  4. java rpm是什么_JAVA的JDK, JRE, JVM 的区别,Linux到底要安装什么版本的JDK和RPM?

    在安装Linux应用基础环境的时候,总是安装某个固定版本的JDK,没有人知道为什么.本人也没有学过JAVA. 为解疑惑,不断百度,直到现在才知道,原来Linux的安装环境要JAVA JDK配置是要根据 ...

  5. Java三大版本,JDK,JER,JVM知识

    JavaSE: 标准版,基础核心版. 是为开发普通的桌面和商务应用程序提供的可解决的方式,是后面两个技术的基础,可以完成一些桌面应用程序的开发. JavaME: 小型版,是为了开发电子消费产品和嵌入式 ...

  6. 重学java基础第十六课:jdk jre jvm

  7. JDK,JRE,JVM三者关系

  8. [马士兵] 一. 初识JAVA 20. 反编译工具的使用 21. 本章最后一段代码 22. 扩展面试题: JDK, JRE, JVM区别

    20. 反编译工具的使用 编译 源代码----->class 反编译 class---->源代码 反编译工具 jd-gui.exe 21. 本章最后一段代码 public class Hi ...

  9. Java的三大版本和JDK,JRE,JVM的概念

    Java的三大版本和JDK,JRE,JVM的概念 可提供远程搭建运行服务 Java 偏向WEB端开发,服务器开发 最大特性:跨平台性,Write Once,Run Anywhere,只要编写一次就能在 ...

  10. Java修炼之凡界篇 筑基期 第01卷 入门 第04话 JDK JRE JVM

    JDK JRE JVM JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK), 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里 ...

最新文章

  1. 用 Python 写一个天天酷跑,在线摸鱼不烦恼
  2. 织梦DeDE调用文章第一张图片的方法
  3. 理解VMware虚拟机下网络连接的三种模式
  4. LeetCode-剑指 Offer 10- I. 斐波那契数列
  5. Linux 搭建Sphinx 全文检索引擎
  6. 修改Visual Stdio 2010界面,以及添加一些其它VS2010的插件
  7. 更改“我的文档”文件夹的默认位置
  8. 肺结节圆形边界光滑_肺结节读片(16):再谈肺磨玻璃结节边界的CT形态特点
  9. 强烈推荐 16 款 IDEA 插件,让你的开发速度飞起来!
  10. Linux使用信号量监控程序异常退出
  11. CI框架的使用-环境搭建
  12. 3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》
  13. 加密狗加密excel ,方法之 C#开发Excel自定义函数
  14. 树莓派RaspBerryPi上使用3g模块
  15. 数据库系统是由那些组成的?
  16. android api 设置,Android API中文文档EditText
  17. Windows硬盘坏道修复
  18. laravel导出excel
  19. centos7安装部署gitlab
  20. flutter实现可缩放可拖拽双击放大的图片功能

热门文章

  1. SU Demos-02Filtering-05Suk1k2filter
  2. 以大多数人的努力程度之低,根本轮不到去拼天赋
  3. 算法题007 计算n的阶乘
  4. Java Web学习(七)HttpServletResponse(客户端响应)
  5. 关于在vue项目中使用wangEditor
  6. PHP curl采集
  7. BZOJ[1972] [Sdoi2010]猪国杀
  8. Linux系统MySQL开启远程连接
  9. JVM学习笔记:Java运行时数据区域
  10. 用Win8刷新和系统重置轻松恢复系统