Java 的几种版本
1. Java ME
Java ME(Java 2 Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它是Java 2的一个组成部分,它与J2SE、J2EE并称,并且同样是通过JCP(Java Community Process)制订。根据Sun的定义:Java ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。JAVA ME(Java2平台微型版)技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。今天,不止是桌面上的电脑,手中的电话、汽车中的通信设备、家中的冰箱、 洗衣机等都将连入互联网,这是一个移动的互联网。J2ME就是Java程序在这些连接设备上的执行平台和开发环境,其基本思想和 J2SE类似,就是在各种设备上安装适合它的Java虚拟机,应用程序则在虚拟机之上运行。
Java本来就是为了嵌入式系统而生,1990年12月,Sun公司内部 由James Gosling、Patrick Naughton以及Mike Sheridan成立了一个叫做Green Team的小组。Green Team小组的主要目标,是要发展一种新架构,而这种架构必须能够在消费性电子产品作业平台上运行,现在我们普遍认识的PDA、手机或是信息家电 (IA),都是属于这种架构的目标平台。虽然在1999年,Java被分割成J2ME、J2SE、J2EE,所以有了J2ME这个名词的出现。但是 Java并非1999年才开始发展嵌入式系统上的应用。其实,Java本来就是为了嵌入式系统而发展的一种架构。即使目前大家多半将Java的应用聚焦于 企业上的J2EE应用。但是严格来说,J2ME才是Java真正“回归本心”的领域。
Sun公司将J2ME(Java 2 Micro Edition)定义为“一种以广泛的消费性产品为目标的、高度优化的Java运行时环境”。J2ME是Sun公司为嵌入式开发所定义的一个框架,由一系 列标准的规范组成。所以J2ME是一系列技术规范的总称,而不是单一的规范。
J2ME的所有技术标准都由JAVA社区过程(Java Community Process,JCP)制定,JCP是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现 (RI)、技术兼容包(TCK)。Java技术和JCP两者的原创者都是SUN计算机公司。JCP维护的规范包括J2ME、J2SE、J2EE、XML、OSS、JAIN等。组织成员可以提交JSR(Java Specification Requests),通过特定程序以后,进入到下一版本的规范里面。J2ME使用配置(CDC或CLDC)和简表(Profile)定制 JRE,一个完整的JRE由配置和简表组成,配置决定了所使用的JVM(可能是CVM或KVM),而简表通过定义特定的类来为应用程序提供功能上的支持, 一个简表定义了设备所提供的API集合。例如:CLDC规范目前分为v1.0 JSR 30、v1.1 JSR 139;CDC规范目前分为v1.0 JSR 36、v1.1 JSR 218;MIDP规范目前分为v1.0 JSR 37、v2.0 JSR 118。
J2ME的所有技术标准都由JAVA社区过程(Java Community Process,JCP)制定,JCP是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现 (RI)、技术兼容包(TCK)。Java技术和JCP两者的原创者都是SUN计算机公司。JCP维护的规范包括J2ME、J2SE、J2EE、XML、OSS、JAIN等。组织成员可以提交JSR(Java Specification Requests),通过特定程序以后,进入到下一版本的规范里面。J2ME使用配置(CDC或CLDC)和简表(Profile)定制 JRE,一个完整的JRE由配置和简表组成,配置决定了所使用的JVM(可能是CVM或KVM),而简表通过定义特定的类来为应用程序提供功能上的支持, 一个简表定义了设备所提供的API集合。例如:CLDC规范目前分为v1.0 JSR 30、v1.1 JSR 139;CDC规范目前分为v1.0 JSR 36、v1.1 JSR 218;MIDP规范目前分为v1.0 JSR 37、v2.0 JSR 118。
与J2SE和J2EE相比,JAVA ME总体的的运行环境和目标更加多样化,但其中每一种产品的用途却更为单一,而且资源限制也更加严格。为了在达到标准化和兼容性的同时尽量满足不同方面的 需求,JAVA ME的架构分为Configuration、Profile和Optional Packages(可选包)。它们的组合取舍形成了具体的运行环境。Configuration主要是对设备纵向的分类,分类依据包括存储和处理能力,其中定义了虚拟机特性和基本的类库。已经标准化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC)。Profile建立在Configuration基础之上,一起构成了完 整的运行环境。它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和API。CLDC上已经标准化的Profile有Mobile Information Device Profile (MIDP)和Information Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。可选包独立于前面两者提供附加的、模块化的和更为多样化的功能。目前标准化的可选包包括数据库访问、多媒体应用、蓝牙等等。
2. J2SE
Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。J2SE,J2ME和J2EE,这也就是 SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
3. J2EE
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。
J2EE组件和“标准的” Java类 的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件 的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (EJB )组件是运行在服务器端的业务组件。
参考文章
你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。