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跨平台的原理。

    

java-01 JAVA三大版本比较&JDK、JRE、JVM 的关系的更多相关文章

  1. 9.Java三大版本以及JDK,JRE,JVM简单介绍

    Write Once,Run Anywhere. JavaSE:标准版(桌面程序,控制台开发...),是Java的基础和核心. JavaME:嵌入式开发(手机,小家电...),现在基本不用已经过时. ...

  2. dos命令,jdk&jre&jvm的关系,classpath和path区别

    Day01_SHJavaTraing_4-2-2017 一.学习方法 1.独立思考 2.独立整理.总结知识点 3.整理Exception报错文档 4.莫钻牛角尖 5.敲代码,敲,猛敲,死里敲 6.写代 ...

  3. 1、Java语言概述与开发环境——JDK JRE JVM理解

    一.理解概念: 1.JDK(Java Development Kit Java开发工具包) JDK是提供给Java开发人员使用的,其中包含Java的开发工具,也包括JRE,所以安装了JDK,就不用单独 ...

  4. JDK,JRE,JVM,JMM关系与区别

    JVM: Java Virtual Machine, 将java文件编译成class文件并运行class文件的软件 JRE:Java  Runtime  Enviromental,包含了JVM和Jav ...

  5. JDK JRE JVM的关系

    JVM:Java Virtual Machine的缩写,即Java虚拟机 JRE:Java Runtime Environment的缩写,即Java运行环境 JDK:Java Development ...

  6. JDK,JRE,JVM三者关系

    已上图,如有疏漏错误请在下面评论区指出,感激不尽!

  7. Java的特性和优势以及不同版本的分类,jdk,jre,jvm的联系与区别,javadoc的生成

    Java 1.Java的特性和优势 Write Once,Run Anywhere 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.Java的三大版本 JavaSE:标 ...

  8. Java初学者不得不知的概念,JDK,JRE,JVM的区别?(转)

    JVM(Java Virtual Machine Java虚拟机)可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令. ...

  9. java的概念了解(jdk,jre,jvm,javase,javaee,javame)

    jvm jvm:java virtual machine,俗称:java虚拟机,只认识xxx.class这类文件 jre jre:java runtime environment,俗称java运行环境 ...

  10. Java开发介绍之JDK JRE JVM 和 环境变量配置

    一.JDK>JRE>JVM JDK(Java Development Kit):Java开发工具包 JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和 ...

随机推荐

  1. WebDriverException: Message: 'phantomjs.exe' executable needs to be in PATH.

    本文转载自:http://blog.csdn.net/sinat_36764186/article/details/55520444 网上的某测试代码: from selenium import we ...

  2. 【POJ】2778 DNA Sequence(AC自动机+矩阵快速幂)

    题目 传送门:QWQ 分析 对着Trie图搞快速幂. 为什么这样是对的呢? 详见:http://www.matrix67.com/blog/archives/276 有些地方还不是很理解......为 ...

  3. 给iOS开发新手送点福利,简述UIPageControl的属性和用法

    UIPageControl 1.   numberOfPages // 设置有多少页 默认为0 [pageControl setNumberOfPages:kImageCount]; 2.   cur ...

  4. 温故而知新-array_walk和sizeof和array_count_values()和extract()

    1 array_walk对数组的每一个元素应用任何函数 用户自定义函数中的第一个参数指定为引用:&$value,来改变数组元素的值 如果对一个参数使用取地址,那么会改变数组元素的值 2 siz ...

  5. jQuery deferred.resolve() 方法

    jQuery deferred.resolve() 方法 deferred.resolve() 函数用于解决Deferred(延迟)对象,并根据给定的args参数调用任何 doneCallbacks ...

  6. UNITY 接讯飞语音过程总结

    11:13 2017/3/141,安装问题:JDK与ECLIPSE位数一定要对应,32位对64位会出现 java was returned ....code 13的弹框错误.版本号可以不一致.2,EC ...

  7. Common Lisp

    [Common Lisp] 1.操作符是什么? 2.quote. 3.单引号是quote的缩写. 4.car与cdr方法. 5.古怪的if语句. 6.and语句. 7.判断是真假. null 与 no ...

  8. Unix高级编程Note3

    [Unix高级编程Note3] 1.RECURSIVE锁可以递归,普通锁只会死锁 2.线程安全函数 3.线程私有数据 4.pthread_once 5.线程取消点 6.线程信号 7.pread 8.d ...

  9. PC上对限制在微信客户端访问的html页面进行调试

    PC上对微信的html5页面做测试,一般来说需要两个条件:浏览器UA改为微信客户端的UA(打开页面提示请在微信客户端登录就需要修改UA):增加满足html5验证条件的Cookie来进行微信OAUTH验 ...

  10. Matlab界面清洗

    保持干净清爽的编程界面可以给人以简洁明朗的享受,Matlab可以对涉及到的4个界面进行清洗: ①  Clear Figure ; ② Clear Command window; ③ Clear Wor ...