Sun公司在2006年底,就将三大平台正名为java SE、java EE和java ME。也有很多人习惯用J2SE、J2EE和J2ME。

1、java SE

  java SE(标准版)是各应用平台的基础,想学习其他的平台应用,必须先了解java SE以奠定基础。

java SE可以分为4个主要部分:JVM、JRE、JDK与JAVA语言。

想要运行java撰写好的程序,就必须有java虚拟机(Java Virtual Machine,JVM)。

JVM包含在java执行环境(java SE Runtime Environment,JRE)中,所以想要运行Java程序,就必须要安装JRE。

若是想要开发java程序,就必须安装JDK(java SE Development Kits),JDK包含JRE及开发过程中所需要的工具包。

如javac、java、appletviewer等工具。

  java语言只是java SE的一部分,除了语言之外,java最重要的就是提高庞大且强大的标准API,提供字符串处理、

数据输入/输出、网络套件、用户窗口接口等功能。可以使用这些API作为基础来进行程序开发,无需重复开发相同的功能组件。

2、java EE

  java EE(企业版)以java SE为基础,定义了一系列的服务、API、协议等,适用于开发分布式、多层次(Multi-tiered)、

以组件为基础、以WEB为基础的应用程序,整个java EE体系很庞大,比较熟悉的技术是JSP、Servlet、JavaMail、

Enterprise JavaBeans(EJB)等。必须要学好java SE基础,再学习java EE的开发。

3、java ME

  java ME是java平台版本中最小的一个,目的是作为小型数字设备上开发及部署应用程序的平台,像是消费性电子产品

或嵌入式系统等。最常见的设备如手机、PDA、股票机等,可以使用java ME来开发这些移动设备上的程序,如java游戏、

记事程序、日历程序等。

PS:JCP与JSR

  java不仅是程序语言,还是标准规范。

  编译/执行Java的JDK/JRE,并不只有Sun才能实现,IBM也可以撰写自己的JDK/JRE,其他厂商或组织也可以撰写自己

的JDK/JRE。

  Java有Sun创造,为了让对java感兴趣的厂商或组织、开发者与用户参与定义Java未来的功能和特性,Sun公司于1998年

组成了JCP(Java Community Process),这是一个开放性国际组织,目的是让Java的演进由Sun非正式的主导,成为全世界

数以百计代表成员公开监督的过程。

  任何想要提示加入java 的功能或特性,必须以JSR(Java Specification Requests)正式文件的方式提交,JSR必须经过

JCP执行委员会(Executive Committee)投票通过,才可以成为最终的标准文件,有兴趣的厂商或组织可以根据JSR来实现产品。

  若JSR成为最终文件后,必须根据JSR成果作出免费且开发原始码的参考实现,成为RI(Reference Implemetation),并提供

TCK(Technology Compatibility Kit)作为技术兼容测试工具箱,方便于其他厂商或组件想根据JSR实现产品参考与测试兼容性。

  在JSR规范的标准下,各厂商可以各自操作成品,所以同一份JSR文件,可以有不同厂商的操作产品。以java SE为例,对于身为

开发人员,或使用java产品的公司而言,只要使用兼容于标准的JDK/JRE开发产品,就可以执行、兼容于标准的JRE上,而不用担心

跨平台的问题。

《java jdk7学习笔记》之java三大平台的更多相关文章

  1. 《Java JDK7 学习笔记》课后练习题1

    1.()组织负责监督审查Java相关技术规格的演进. A. JCP B. Apache C. EU D. W3C 2.Java技术规格必须以()正式文件提交审查. A. RFC B. JSR C. I ...

  2. 《java JDK7学习笔记》之跨平台与路径设置

    Platforms表示Solaris.Linux.Windows各种操作系统平台,在这些平台上架构了java Virtaul Machine,简称JVM,Java虚拟机. Java虚拟机可以让java ...

  3. 《java JDK7 学习笔记》之继承与多态

    1.面向对象中,子类继承父类,避免重复的行为定义,不过并非为了避免重复定义行为就使用继承.应该正确判断使用继承的时机及继承之后灵活的运用多态,才是学习继承时的重点. 2.程序代码重复在程序设计上,就是 ...

  4. 《Java JDK7 学习笔记》课后练习题2

    1.如果在hello.java中撰写以下的程序代码: public class Hello {     public static dmain(String[]args) {          Sys ...

  5. Java基础学习笔记一 Java介绍

    java语言概述 Java是sun公司开发的一门编程语言,目前被Oracle公司收购,编程语言就是用来编写软件的. Java的应用 开发QQ.迅雷程序(桌面应用软件) 淘宝.京东(互联网应用软件) 安 ...

  6. Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类

    final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对 ...

  7. 《java JDK7 学习笔记》之异常处理

    1.java中所有的错误都会被打包为对象,JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的异常类型,是否符合被抛出的错误对象类型,如果是的 ...

  8. 《java JDK7 学习笔记》之Collection

    一.使用Collection 收集对象 1.认识Collection架构 Java SE提供了满足各种需求的API,在使用这些API前,建议先了解其继承与接口操作架构,才能了解何时使用哪个类,以及类之 ...

  9. 《java JDK7 学习笔记》之接口与多态

    1.对于"定义行为"也就是接口,可以使用interface关键字定义,接口中的方法不能操作,直接标示为abstract,而且一定是public修饰的. 类要操作接口,必须使用imp ...

随机推荐

  1. Android Volley框架的使用(3)

    4. 加载图片 在实际应用中,经常需要从网络上下载并显示图片.Volley也提供了从网络下载图片的几种方法,这里主要介绍两种方法:ImageRequest和ImageLoader. (1) Image ...

  2. Git合并特定commits 到另一个分支

    https://ariejan.net/2010/06/10/cherry-picking-specific-commits-from-another-branch/ http://blog.csdn ...

  3. 点我吧工作总结(技术篇) zookeeper

    我思故我在,提问启迪思考! 1.什么是zookeeper? 2.zookeeper与dubbo.springMVC之间的协同工作? http://doc.okbase.net/congcong68/a ...

  4. sso demo mysql ( cas )

    基本配置 参考之前得随笔  http://www.cnblogs.com/rocky-fang/p/5354947.html 1. tomcat-cas 修改配置 1.1 在D:\test\sso\t ...

  5. (旧)子数涵数·C语言——hello world

    一说起hello world想必你们就知道我要干什么了,毕竟hello world基本是每个高级语言的第一个案例. 好,切入正题,我们开始用C语言编写hello world! 一.打开C语言的IDE( ...

  6. linux实用的日志分析脚本

    日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/ ...

  7. Linux下安装DB2_v9.7详细教程

    一:平台 1:HP服务器 cpu:Inter (R) Xeon (R) E5606 2.13G 磁盘:本地磁盘外加存储 2:操作系统 RedHet 5.4 64位 内核:2.6.18-194.1.AX ...

  8. 一款经典的jQuery kxbdMarquee 无缝滚动插件

    <marquee> 曾是 IE 下独有的一个走马灯效果的标签,其他浏览器并不兼容,于是出现了使用 JavaScript 来模拟该效果的插件. 版本: jQuery v1.3.2+ 在线实例 ...

  9. Velocity – 另外一款加速的 jQuery 动画插件

    Velocity 是一款 jQuery 插件,重新实现了 $.animate() 方法,提供更高的性能(比 CSS 动画还更快),同时包括一些新的功能,以改进动画工作流程.Velocity 除了包括所 ...

  10. browser.html – HTML 实现 Firefox UI

    browser.html 是一个实验性的项目,用于证明一个概念:使用 HTML 重新实现 Firefox UI ,并作为一个应用程序.它是基于浏览器的 API ,并以浏览器的方式和系统的应用工作.即使 ...