三:Java有什么
Java体系比较庞杂,功能繁多,这也导致很多人在自学Java的时候总是感觉无法建立
全面的知识体系,无法从整体上把握Java的原因。在这里我们先简单了解一下Java的版本。
具体的Java体系知识结构,将在后面详细讲述。
Java分成三种版本,分别是Java标准版(JSE)、Java微缩版(JME)和Java企业版(JEE),
每一种版本都有自己的功能和应用方向。
1:Java标准版: JSE(Java Standard Edition)
JSE(Java Standard Edition)是Sun公司针对桌面开发以及低端商务计算解决方案而开
发的版本,例如:我们平常熟悉的Application桌面应用程序。这个版本是个基础,它也是
我们平常开发和使用最多的技术,Java 的主要的技术将在这个版本中体现。本书主要讲的
就是JSE。
2:Java微缩版:JME(Java Micro Edition)
JME(Java ,Micro Edition) 是对标准版JSE进行功能缩减后的版本,于1999年6月
由Sun Microsystems第一次推向Java团体。它是一项能更好满足Java开发人员不同需求
的广泛倡议的一部分。Sun Microsystems将JME定义为“一种以广泛的消费性产品为目标
的高度优化的Java运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导
航系统。”
JME是致力于消费产品和嵌入式设备的开发人员的最佳选择。尽管早期人们对它看好而
且Java开发人员团体中的热衷人士也不少,然而,JME最近才开始从其影响更大的同属产
品JEE和JSE的阴影中走出其不成熟期。
JME在开发面向内存有限的移动终端(例如寻呼机、移动电话)的应用时,显得尤其实用。
因为它是建立在操作系统之上的,使得应用的开发无须考虑太多特殊的硬件配置类型或操作
系统。因此,开发商也无须为不同的终端建立特殊的应用,制造商也只需要简单地使它们的
操作平台可以支持JME便可。
3:Java企业版:JEE(Java Enterprise Edition)
JEE(Java Enterprise Edition)是一种利用Java平台来简化企业解决方案的开发、部
署和管理相关的复杂问题的体系结构。JEE技术的基础就是核心Java平台或Java平台的标
准版,JEE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存
取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,
同时还提供了对EJB(Enterprise Java Beans)、Java Servlets API、JSP(Java Server Pages)
以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
JEE体系结构提供中间层集成框架来满足无需太多费用而又需要高可用性、高可靠性以
及可扩展性的应用的需求。通过提供统一的开发平台,JEE降低了开发多层应用的费用和复
杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise Java Beans,有良
好的向导支持打包和部署应用,添加了目录支持,增强了安全机制,提高了性能。
JEE是对标准版进行功能扩展,提供一系列功能,用来解决进行企业应用开发中所面临
的复杂的问题。具体的我们会放到后面JEE的课程去讲。
4:三个版本之间的关系
JEE几乎完全包含JSE的功能,然后在JSE的基础上添加了很多新的功能。
JME主要是JSE的功能子集,然后再加上一部分额外添加的功能。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
Java私塾跟我学系列——JAVA篇 网址:http://www.javass.cn 电话:010-68434236
如下图所示:
Java的API类库之中有一组所谓的核心类(CoreClass,即java.*),在核心类之外还有
所谓的扩充类(Extended Class,即javax.*)。根据对这两种类的支持程度,进而区分出几
种不同的Java版本。
我们必须以Java Standard Edition(JSE)作为基准,这个版本做了所有Java标准规格
之中所定义的核心类,也支持所有的Java基本类。JSE定位在客户端程序的应用上。
从JSE往外延伸,其外面为Java Enterprise Edition(JEE),此版本除了支持所有的
标准核心类外,而且还增加了许多支持企业内部使用的扩充类,支持Servlet/JSP 的
javax.servlet.* 类、支持Enterprise Java Bean的javax.ejb.* 类。当然,JEE必定支
持所有的Java基本类。JEE定位在服务器端(server-side)程序的应用上。
从JSE向内看,是Java Micro Edition(JME),它所支持的只有核心类的子集合,在JME
CLDC的规格之中,只支持java.lang.* 、java.io.* 、以及java.util.* 这些类。此版本
也增加了一些支持“微小装置”的扩充类,如javax.microedition.io.* 类。然而,此版
本并不支持所有的Java 基本类,就标准的JMECLDC, 也就是能在PalmOS 上执行的
KVM(KVirtualMachine)来说,它就不支持属于浮点数(float、double)的Java基本类。JME
定位在嵌入式系统的应用上。
最里层,还有一个Java的Smart Card版本,原本在Java的文件之中并没有这样定义,
但是将它画在JME内部是很合理的。因为SmartCard版本只支持java.lang.* 这个核心类,
比起JME所支持的核心类更少,但它也有属于自己的扩充类,如javacard.*、javacardx.*
这些类。SmartCard版本只支持Boolean与Byte这两种Java基本类,此版本定位在SmartCard
的应用上。