1、Java新手入门Java 技术新手入门 中国 选择 使用条款 dW 全部内容 - AIX and UNIX Information management Lotus Rational WebSphere - Architecture Grid computing Java 技术 Linux Multicore acceleration Open source Security SOA & Web services Web development XML - IBM 全部内容 首页 产品 服务与解决方案 支持与下载 个性化服务 developerWorks 中国 AIX and UNIX Inf
2、ormation Mgmt Lotus Rational WebSphere Java technology 新手入门 产品和软件下载 标准和规范 文档库 dW 全球网站 Java technology 专区 Linux Open source SOA and Web services Web development XML 反馈意见 相关链接 developerWorks 全球网站 ISV 资源 alphaWorks (emerging technologies) IBM 红皮书 IBM 教育学院教育培养计划 developerWorks 中国 Java technology Java 技术
3、新手入门 Java 初学者的入门指南 Java 技术新手入门利用 Java 教程提升 Java 编程技术 Java 技术是什么? Java 技术为什么是重要的? 什么是 Java 组件技术? Java 技术与 SOA/Web 服务的关系 Java 技术与开放源码软件开发的关系 如何提高自己的 Java 编程技能 Java 程序员可用的 IBM 工具和产品 developerWorks Java technology 专区包含关于 Java 的数百篇文章、教程和技巧,可以帮助软件开发人员了解 Java 平台和相关技术的大多数方面。但是,如果您正在寻找一个起点,仅仅是筛选 Web 上现有的大量参考
4、资料就会令您晕头转向。developerWorks 提供这个页面是为了在 Java 语言的总体环境中概述 Java 技术的基本知识。它提供了 developerWorks 中相关的介绍性内容、其他教学参考资料以及 IBM 下载和产品的链接,可以以此为起点对 Java 进行进一步探索。 Java 技术是什么? Java 技术既是一种高级的面向对象的编程语言,也是一个平台。Java 技术基于 Java 虚拟机(Java virtual machine,JVM)的概念 这是语言与底层软件和硬件之间的一种转换器。Java 语言的所有实现都必须实现 JVM,从而使 Java 程序可以在有 JVM 的任何
5、系统上运行。 Java 编程语言(Java programming language) 与众不同之处在于:Java 程序既是编译型的(compiled)(转换为一种称为 Java 字节码的中间语言),又是解释型的(interpreted)(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对 JVM 优化过的机器码形式;解释器是 JVM 的实现。 Java 平台(Java platform) 是一种纯软件平台,它可以在各种基于硬件的平台上运行。它有三个版本(参见后面的 Java 平台的多个版本)。它由 JVM 和 Java 应用程序编程接
6、口(Java Application Programming Interface,API)组成。Java API 是一个大型的现成软件组件(类)集合,它可以简化 applet 和应用程序的开发和部署,包括健壮、安全且可互操作的企业应用程序。它涵盖从基本对象到连网和安全性,再到 XML 生成和 Web 服务的所有东西。Java API 组织成相关类和接口的库;库也称为包(package)。 除了 Java API 之外,每个完整的 Java 平台实现还包含: 用来编译、运行、监视、调试应用程序以及建立应用程序文档的开发工具。 用来部署应用程序的标准机制。 用来创建复杂的图形用户界面(GUI)的用
7、户界面工具包。 用来启用数据库访问和操作远程对象的集成库。 Java 技术是最初由 Sun Microsystems 公司开发的。Java Community Process(JCP,一个由全世界的 Java 开发人员和获得许可的人员组成的开放性组织)对 Java 技术规范、参考实现和技术兼容性包进行开发和修订。在 2006 年 8 月,Sun Microsystems 宣布它打算开放 Java 平台的源码,并开始征询对许可协议和管理方式的反馈。 回页首 Java 技术为什么是重要的? Java 语言的主要好处是,Java 应用程序可以跨硬件平台和操作系统进行移植 这是因为每个平台上安装的 J
8、VM 都可以理解同样的字节码。 Java 语言和平台的可伸缩性非常强。在低端,现有的应用程序可以很容易地适应内存资源有限的设备。这种语言是进行服务器端 Web 编程的理想框架。因为它被设计为按照一种安全的方式通过网络运行,在通过互联网进行操作时,它提供了一定程度的安全性。在本质上,Java 技术将用户的计算能力从桌面扩展到了 Web 资源。Web 组件由称为Web 容器(Web container) 的运行时平台支持,Web 容器的服务包括请求分派、安全性、并发性、生命周期管理以及对命名、事务和电子邮件等 API 的访问。在高端,Java 应用服务器(application server) 作
9、为 Java 组件、XML 和 Web 服务的 Web 容器,可以与数据库进行交互并提供动态的 Web 内容;它们还为企业应用程序提供应用程序开发环境,具有事务管理、安全性、集群、性能、可用性、连接性和可伸缩性等功能。 Java 语言是第一批支持企业开放标准的技术之一,支持使用 XML 和 Web 服务跨业务线共享信息和应用程序(参见下面的 Java 技术与 SOA/Web 服务的关系)。Java 技术是许多 IBM 产品和技术咨询服务的核心(参见下面的 Java 程序员可用的 IBM 工具和产品),是 IBM 发展计划的重要部分: 了解关于 IBM 的面向服务架构(SOA) 计划的更多信息,
10、以及 SOA 如何帮助用户构建复合应用程序,从而将来自多个来源的功能组合在企业中以支持横向业务流程。 IBM Business Innovation and Optimization 为战略性调整提供一种基于组件的全面的方法。提供的解决方案基于一个灵活、可扩展、基于开放标准的软件(包括 Java 技术)和硬件基础结构。 Java 平台的多个版本 Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发: Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环
11、境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。大多数 Java 开发人员使用 Java SE 5,也称为 Java 5.0 或 “Tiger”(2006 年 6 月,Java SE 6 或 “Mustang” 发布了 beta 版。) Java SE 6 新特性系列 专栏主要介绍 Java SE 6 在 API 库方面的部分新特性。 驯服 Tiger 专栏对 Java SE 5 做了精彩的概述。 Merlin 的魔力 系列讨论了以前的 Jav
12、a SE 平台版本,J2SE 1.4 或 “Merlin”。许多现有的 Java 应用程序基于 J2SE 1.4,而且这个系列中的大多数概念是与 Java SE 5 编程相关的。 Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.
13、0 应用程序。 J2EE 探索者 专栏提供关于 Java EE 的知识。 走上开放之路:迁移到 Java 平台 文章系列帮助 .NET、Windows 客户机/服务器和 ASP 应用程序的开发人员迁移到 Java EE 平台。 Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的
14、应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。 这个全面的 分四部分的系列 包含两个教程和两篇配套文章,它们集中介绍 J2ME 和 Mobile Information Device Profile(MIDP)。 还可以在 developerWorks Wireless technology 专区中找到许多 J2ME 参考资料,比如分两部分的教程 “构建灵活的 J2ME 移动应用程序”。 回页首 什么是 Java 组件技术? developerWorks Java technology 专区维护了 标准 Java 组件技术 的完整词汇表。下面是每个 Java 平台版
15、本的组件、可选包和扩展的部分列表,以及简短的描述和参考资料的链接,可以通过这些参考资料进一步了解这些组件在 Java 开发中的作用。注意,下面的许多参考资料同时适用于三个版本。 Java SE 中的技术: JavaBeans Component Architecture 是一个为 Java 平台定义可重用软件组件的框架,可以在图形化构建工具中设计这些组件。 Java Foundation Classes(Swing)(JFC)是一套 Java 类库,支持为基于 Java 的客户机应用程序构建 GUI 和图形化功能。(参见教程 “Swing 入门”;“使用 Swing 进行动态界面设计” 和 “
16、增强图形用户界面的可访问性” 也有助于掌握 Swing。) JavaHelp 是一个独立于平台的可扩展的帮助系统,开发人员和作者可以使用它将在线帮助集成到 applet、组件、应用程序、操作系统和设备中,还可以提供基于 Web 的在线文档。(参见 “向 Java 应用程序伸出援助之手”。) Java Native Interface(JNI)使 JVM 中运行的 Java 代码可以与用其他编程语言编写的应用程序和库进行互操作。(参见 “用 Java 代码处理本地对象的事件”。) Java Platform Debugger Architecture(JPDA)是用于 Java SE 的调试支持
17、基础结构。(参见 “诊断 Java 代码: 软件开发的未来”。) Java 2D API 是一套用于高级 2D 图形和图像的类(为图像组合和 alpha 通道图像提供丰富的支持)、一套提供精确的颜色空间定义和转换的类以及一套面向显示的图像操作符。(参见教程 “Java 2D 简介”。) Java Web start 允许用户通过一次点击下载并启动特性完整的应用程序(比如电子表格),而不需要进行安装,从而简化 Java 应用程序的部署。(参见 “Java Web Start”。) Certification Path API 提供了一套用于创建、构建和检验认证路径(也称为 “认证链”)的 API
18、,可以安全地建立公共密钥到主体的映射。(参见 “为测试 Java 应用程序生成证书链”。) Java Database Connectivity(JDBC)是一个 API,它使用户能够从 Java 代码中访问大多数表格式数据源,提供了对许多 SQL 数据库的跨 DBMS 连接能力,并可以访问其他表格式数据源,比如电子表格或平面文件。(参见 “JDBC 3.0 有什么新特性” 和教程 “理解 JDBC”。) Java Advanced Imaging(JAI)是一个 API,它提供一套面向对象的接口,这些接口支持一个简单的高级编程模型,使开发人员能够轻松地操作图像。(参见 “利用 JSP 代码管
19、理您的图像”。) Java Authentication and Authorization Service(JAAS)是一个包,它实现了标准的 Pluggable Authentication Module(PAM)框架的 Java 版本并支持基于用户的授权,使服务能够对用户进行身份验证和访问控制。(参见 “用 JAAS 和 JSSE 实现 Java 安全性” 和 “Java 授权内幕”;教程 “Java 安全性, 第 2 部分: 认证与授权” 也有帮助。) Java Cryptography Extension(JCE)是一组包,它们提供用于加密、密钥生成和协商以及 Message Aut
20、hentication Code(MAC)算法的框架和实现。它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的对象。(参见教程 “Java 安全性,第 1 部分: 密码学基础”。) Java Data Objects(JDO)是一种基于标准接口的持久化 Java 模型抽象,使程序员能够将 Java 领域模型实例直接存储进持久化存储(数据库)中,这可以替代直接文件 I/O、串行化、JDBC 以及 EJB Bean Managed Persistence(BMP)或 Container Managed Persistence(CMP)实体 bean 等方法。(参见教程 “Java
21、数据对象上机实践”;更深入的解释请参考 “无需容器的对象关系映射”。) Java Management Extensions(JMX)提供了用于构建分布式、基于 Web、模块化且动态的应用程序的工具,这些应用程序可以用来管理和监视设备、应用程序和服务驱动的网络。(参见 “使用 Java 平台管理 bean”。) Java Media Framework(JMF)可以将音频、视频和其他基于时间的媒体添加到 Java 应用程序和 applet 中。(参见教程 “Java Media Framework basics”。) Java Naming and Directory Interface(JN
22、DI)为 Java 应用程序提供一个连接到企业中的多个命名和目录服务的统一接口,可以无缝地连接结构不同的企业命名和目录服务。(参见 “工业强度的 JNDI 优化”;还可以参考 “走出 JNDI 迷宫”。) Java Secure Socket Extensions(JSSE)是一组包,它们支持安全的互联网通信,实现了 SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)的 Java 版本,包含数据加密、服务器身份验证、消息完整性和可选的客户机身份验证等功能。(参见 “用 JAAS 和 JSSE 实现 Java 安全性”;还可以参考教程
23、 “将 JSSE 用于安全套接字通信”。) Java Speech API(JSAPI)包含 Grammar Format(JSGF)和 Markup Language(JSML)规范,使 Java 应用程序能够将语音技术集成到用户界面中。JSAPI 定义一个跨平台的 API,支持命令和控制识别器、听写系统和语音识别器。(参见 “Java 2 用户界面”。) Java 3D 是一个 API,它提供一套面向对象的接口,这些接口支持一个简单的高级编程模型,开发人员可以使用这个 API 轻松地将可伸缩的独立于平台的 3D 图形集成到 Java 应用程序中。(参见教程 “Java 3D 探奇”。) M
24、etadata Facility 允许给类、接口、字段和方法标上特定的属性,从而使开发工具、部署工具和运行时库能够以特殊方式处理它们。(参见 “Tiger 中的注释,第 1 部分: 向 Java 代码中添加元数据”。) Java Content Repository API 是一个用于访问 Java SE 中独立于实现的内容存储库的 API。内容存储库是一个高级信息管理系统,它是传统数据存储库的超集。(参见 “Java Content Repository API 简介”。) Enumerations(枚举) 是一种类型,允许以类型安全的方式将特定的数据表示为常量。(参见 “枚举类型入门”。)
25、 Generics(泛型) 允许定义具有抽象类型的参数的类,可以在实例化时指定这些参数。(参见 “介绍 JDK 5.0 中的泛型”。) Concurrency Utilities 是一套中级实用程序,提供了并发程序中常用的功能。(参见教程 “JDK 5.0 中的并发”。) Java API for XML Processing(JAXP)允许 Java 应用程序独立于特定的 XML 处理实现对 XML 文档进行解析和转换,允许灵活地在 XML 处理程序之间进行切换,而不需要修改应用程序代码。Java API for XML Binding(JAXB)允许在 XML 文档和 Java 对象之间进
26、行自动的映射。(参见分三部分的教程 “利用 Java 技术进行 XML 编程”;还可以阅读 “JAXP 全面介绍,第 1 部分” 和 “JAXP 全面介绍,第 1 部分” 来进一步了解 JAXP; 实用数据绑定 文章系列提供了更多信息;还可以访问 developerWorks XML 专区。) SOAP with Attachments API for Java(SAAJ)使开发人员能够按照 SOAP 1.1 规范和 SOAP with Attachments note 生成和消费消息。(参见 “技巧: 使用SAAJ发送和接收SOAP消息”;“Java Web 服务进阶” 会帮助您掌握 Jav
27、a Web Services Developers Pack。) J2EE 中的技术: Enterprise JavaBeans(EJB)技术使用一个组件模型来简化中间件应用程序的开发,它提供了对事务、安全性和数据库连接等服务的自动支持。(参见教程 “Enterprise JavaBean 基础”;参见 EJB 最佳实践 系列;阅读 “使用 EJB 3.0 Java Persistence API 设计企业应用程序”。) Portlet Specification 定义了一套用于 Java 门户计算的 API,可以解决聚合、个人化、表示和安全性方面的问题。(参见 “使用 Apache Plut
28、o 构建和测试 JSR 168 兼容的 portlets”。) JavaMail 是一个 API,提供了一套对邮件系统进行建模的抽象类。(参见教程 “JavaMail API 基础教程”。) Java Message Service(JMS)是一个 API,它为所有与 JMS 技术兼容的消息传递系统定义一套通用的消息概念和编程策略,从而支持开发可移植的基于消息的 Java 应用程序。(参见教程 “Java 消息服务介绍”。) JavaServer Faces(JSF)提供一个编程模型,帮助开发人员将可重用 UI 组件组合在页面中,将这些组件连接到应用程序数据源,将客户机生成的事件连接到服务器端
29、事件处理程序,从而轻松地组建 Web 应用程序。(参见 怀疑论者的 JSF 专栏和教程 “用 JavaServer Faces 进行 UI 开发”,以及 JavaServer Faces 技术专题。) JavaServer Pages(JSP)允许 Web 开发人员快速地开发和轻松地维护动态的独立于平台的 Web 页面,并将用户界面和内容生成隔离开,这样设计人员就能够修改页面布局而不必修改动态内容。这种技术使用类似 XML 的标记来封装为页面生成内容的逻辑。(参见教程 “JSP 技术入门”;还请参考 JSP 最佳实践 系列,以及 JavaServer Pages 技术专题。) Standard
30、 Tag Library for JavaServer Pages(JSTL)是一个定制标记集合,它以一种标准化的格式启用许多常见的 Web 站点功能。(参见 “使用 JSTL 来更新 JSP 页面” 和分四部分的文章系列 “JSTL 入门”。) Java Servlets 提供一种基于组件的独立于平台的方法,可以构建基于 Web 的应用程序,同时避免 CGI 程序的性能限制,从而扩展并增强 Web 服务器的功能。(教程 “Java Servlet 技术简介” 可以帮助您了解 Java Servlets。) J2EE Connector Architecture(JCA)为将 J2EE 平台连
31、接到各种结构的 Enterprise Information Systems(EIS)定义了一个标准的体系结构,它定义了一套可伸缩的安全的事务性机制,使 EIS 厂商能够提供标准的资源适配器,可以将这些资源适配器插入应用服务器中。(参见 “理解 JCA 事务”、“为 EAI 选择 JCA、JMS 或 Web 服务”、“Integrate remote enterprise information systems with JCA, JMS, and Web services” 和教程 “Introduction to the J2EE Connector Architecture”。) J2EE Management Specification(JMX)为 J2EE 平台定
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1