Java的版版本按应用范围分有3个:
1.JAVA SE
Java SE(Java Platform,Standard Edition)标准版是各种应用平台的基础,主要应用于桌面开发和低端商务应用的解决方案。Java SE也包含了支持Java Web服务开发的类库,并为Java EE提供了基础。Java SE 1.4与1.5以后的版本有很大的差别,大多数开发人员都使用1.6版本。目前虽然官方没有正式发布Java SE 7.0,但是开源组织陆续采集了很多高级特性归纳到Java SE 7.0中。Java SE 7.0的组成如图所示。
Java SE中包含的主要技术如下。
(1) Java Beans Component Architecture是一个为Java平台定义可重用软件组件的框架,可以在图形化构建工具中设计这些组件。
(2) Java Foundation Classes(Swing)(JFC)是一套Java类库,支持为基于Java的客户机应用程序构建GUI(Graphical User Interface,图形用户界面)和图形化功能。
(3) Java Help是一个独立于平台的可扩展的帮助系统,开发人员可以使用它将在线帮助集成到Applet、组件、应用程序、操作系统和设备中,还可以提供基于Web的在线文档。
(4) Java Native Interface(JNI)是JVM中运行的Java代码,可以与用其他编程语言编写的应用程序和库进行互操作。
(5) Java Platform Debugger Architecture(JPDA)是用于Java SE调试支持的基础结构。
(6) Java 2D API是一套用于高级2D图形和图像的类(为图像组合和alpha通道图像提供丰富的支持),一套提供精确的颜色空间定义和转换的类以及一套面向显示的图像操作符。
(7) Java Web Start允许用户通过一次单击操作下载并启动特性完整的应用程序(比如电子表格),而不需要进行安装,从而简化了Java应用程序的部署。
(8) Certification Path API提供了一套用于创建、构建和检验认证路径(也称为"认证链")的API,可以安全地建立公共密钥到主体的映射。
(9) Java Database Connectivity(JDBC)是一个API,它使用户能够从Java代码中访问大多数表格式数据源,提供了对许多SQL数据库的跨DBMS连接能力,并可以访问其他表格式数据源,比如电子表格或平面文件。
(10) Java Advanced Imaging(JAI)是一个API,提供了一套面向对象的接口,这些接口支持一个简单的高级编程模型,使开发人员能够轻松地操作图像。
(11) Java Authentication and Authorization Service(JAAS)是一个包,实现了标准的Pluggable Authentication Module(PAM)框架的Java版本并支持基于用户的授权,能够对用户进行身份验证和访问控制。
(12) Java Cryptography Extension(JCE)是一组包,提供了用于加密、密钥生成和协商以及Message Authentication Code(MAC)算法的框架和实现。JCE给对称、不对称、块和流密码提供加密支持,它还支持安全流和密封的对象。
(13) Java Data Objects(JDO)是一种基于标准接口的持久化Java模型抽象,使程序员能够将Java领域模型实例直接保存到数据库(持久化存储器)中,这可以替代直接文件 I/O、串行化、JDBC以及EJB、BMP(Bean Managed Persistence)或CMP(Container Managed Persistence)实体Bean等方法。
(14) Java Management Extensions(JME)提供了用于构建分布式、基于Web、模块化且动态的应用程序的工具,这些应用程序可以用来管理和监视设备、应用程序和服务驱动的网络。
(15) Java Media Framework(JMF)可以将音频、视频和其他基于时间的媒体添加到Java应用程序和Applet中。
(16) Java Naming and Directory Interface(JNDI)为Java应用程序提供一个连接到企业中的多个命名和目录服务的统一接口,可以无缝地连接结构不同的企业命名和目录服务。
(17) Java Secure Socket Extensions(JSSE)是一组包,它们支持安全的互联网通信,实现了SSL(Secure Sockets Layer)和TLS(Transport Layer Security)的Java版本,包含了数据加密、服务器身份验证、消息完整性和可选的客户机身份验证等功能。
(18) Java Speech API(JSAPI)包含Java Speech Grammar Format(JSGF)和Java Speech Markup Language(JSML)规范,使Java应用程序能够将语音技术集成到用户界面中。JSAPI定义了一个跨平台的 API,支持命令和控制识别器、听写系统及语音识别器。
(19) Java 3D 是一个 API,它提供了一套面向对象的接口,这些接口支持一个简单的高级编程模型,开发人员可以使用这个API轻松地将可伸缩的独立于平台的3D图形集成到 Java应用程序中。
(20) Metadata Facility 允许给类、接口、字段和方法标上特定的属性,从而使开发工具、部署工具和运行时能够以特殊方式处理它们。
(21) Java Content Repository API 是一个用于访问Java SE中独立于实现的内容存储库的 API。内容存储库是一个高级信息管理系统,是传统数据存储库的超集。
(22) Enumerations(枚举)是一种类型,允许以类型安全的方式将特定的数据表示为常量。
(23) Generics(泛型)允许定义具有抽象类型参数的类,可以在实例化时指定这些参数。
(24) Concurrency Utilities是一套中级实用程序,提供了并发程序中常用的功能。
(25) Java API for XML Processing(JAXP)允许Java应用程序独立于特定的XML处理,实现对XML文档进行解析和转换,允许灵活地在XML处理程序之间进行切换,而不需要修改应用程序代码。Java API for XML Binding(JAXB)允许在XML文档和Java对象之间进行自动的映射。
(26) SOAP with Attachments API for Java(SAAJ)使开发人员能够按照SOAP1.1规范和 SOAP with Attachments note生成和消费消息。
2.JAVA EE
Java EE(Java Platform,Enterprise Edition)企业版是以企业为环境而开发应用程序的解决方案,这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供了Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture,SOA)和Web 2.0应用程序。
Java EE中包含的主要技术如下。
(1) Enterprise Java Beans(EJB)技术使用一个组件模型来简化中间件应用程序的开发,提供了对事务、安全性和数据库连接等服务的自动支持。
(2) Portlet Specification 定义了一套用于Java门户计算的API,可以解决聚合、个人化、表示和安全性方面的问题。
(3) Java Mail是一个API,提供了一套对邮件系统进行建模的抽象类。
(4) Java Message Service(JMS)是一个API,它为所有与JMS技术兼容的消息传递系统定义一套通用的消息概念和编程策略,从而支持开发可移植的基于消息的Java应用程序。
(5) Java Server Faces(JSF)提供一个编程模型,帮助开发人员将可重用UI组件组合在页面中,将这些组件连接到应用程序数据源,将客户机生成的事件连接到服务器端的事件处理程序,从而轻松地组建Web应用程序。
(6) Java Server Pages(JSP)允许Web开发人员快速地开发和轻松地维护动态的独立于平台的Web页面,并将用户界面和内容生成隔离开,这样设计人员就能够修改页面布局而不必修改动态内容。这种技术使用类似XML的标记来封装为页面生成内容的逻辑。
(7) Standard Tag Library for Java Server Pages(JSTL)是一个定制标记集合,它以一种标准化的格式启用许多常见的Web站点功能。
(8) Java Servlets提供了一种基于组件的独立于平台的方法,可以构建基于Web的应用程序,同时避免CGI程序的性能限制,从而扩展并增强了Web服务器的功能。
(9) J2EE Connector Architecture(JCA)为将J2EE平台连接到各种结构的Enterprise Information Systems(EIS)定义了一个标准的体系结构,它定义了一套可伸缩的安全的事务性机制,使EIS厂商能够提供标准的资源适配器,可以将这些资源适配器插入到应用服务器中。
(10) J2EE Management Specification(JMX)为J2EE平台定义了一个信息管理模型。根据其设计,J2EE Management Model可与多种管理系统和协议进行互操作;包含模型到Common Information Model(CIM)的标准映射,CIM是一个SNMP Management Information Base(MIB);还可以通过一个驻留在服务器上的EJB组件--J2EE Management EJB Component (MEJB)映射到Java对象模型。
(11) Java Transaction API(JTA)是一个独立于实现和协议的高级API,它使应用程序和应用服务器可以访问事务。Java Transaction Service(JTS)指定了Transaction Manager的实现,它支持JTA并在这个API之下的层上实现OMG Object Transaction Service(OTS)1.1规范的Java映射。JTS使用Internet Inter-ORB Protocol(IIOP)传播事务。
3.JAVA ME
Java ME(Java Platform,Micro Edition)微型版致力于消费产品和嵌入式设备的最佳解决方案,这个版本以前称为J2ME。Java ME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的联网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需编写一次就可以用于许多设备,而且可以利用每个设备的自身功能。
Java ME中包含的主要技术如下。
(1) Connected Limited Device Configuration(CLDC)描述最基本的库和虚拟机特性,所有包含K虚拟机(K Virtual Machine,KVM)的J2ME环境实现中都必须提供这些库和特性。
(2) Mobile Information Device Profile(MIDP)提供核心应用程序功能,包括用户界面、网络连接、本地数据存储和应用程序生命周期管理。
(3) Connected Device Configuration(CDC)是一个基于标准的框架,用来构建和交付可以跨许多连接网络的消费类设备和嵌入式设备共享的应用程序。
(4) Mobile 3D Graphics API for J2ME(M3G)是一种轻量的交互式3D图形API,它作为可选的包与J2ME和MIDP结合使用。
JAVA特性
1.简单
2.面向对象
3.分布式
4.可移植性
5.解释性
6.安全性
7.健壮性
8.多线程
9.高性能
10.动态