Java 技術既是一種高級的面向對象的編程語言,也是一個平臺。Java 技術基于 Java 虛擬機(Java virtual machine,JVM)的概念 —— 這是語言與底層軟件和硬件之間的一種轉換器。Java 語言的所有實現都必須實現 JVM,從而使 Java 程序可以在有 JVM 的任何系統上運行。
Java 編程語言(Java programming language) 與眾不同之處在于:Java 程序既是編譯型的(compiled)(轉換為一種稱為 Java 字節碼的中間語言),又是解釋型的(interpreted)(JVM 對字節碼進行解析和運行)。編譯只進行一次,而解釋在每次運行程序時都會進行。編譯后的字節碼采用一種針對 JVM 優化過的機器碼形式;解釋器是 JVM 的實現。
Java 平臺(Java platform) 是一種純軟件平臺,它可以在各種基于硬件的平臺上運行。它有三個版本(參見后面的 Java 平臺的多個版本 )。它由 JVM 和 Java 應用程序編程接口(Java Application Programming Interface,API)組成。Java API 是一個大型的現成軟件組件(類)集合,它可以簡化 applet 和應用程序的開發和部署,包括健壯、安全且可互操作的企業應用程序。它涵蓋從基本對象到連網和安全性,再到 XML 生成和 Web 服務的所有東西。Java API 組織成相關類和接口的庫;庫也稱為包(package)。
除了 Java API 之外,每個完整的 Java 平臺實現還包含:
- 用來編譯、運行、監視、調試應用程序以及建立應用程序文檔的開發工具。
- 用來部署應用程序的標準機制。
- 用來創建復雜的圖形用戶界面(GUI)的用戶界面工具包。
- 用來啟用數據庫訪問和操作遠程對象的集成庫。
Java 技術是最初由 Sun Microsystems 公司開發的。Java Community Process(JCP,一個由全世界的 Java 開發人員和獲得許可的人員組成的開放性組織)對 Java 技術規范、參考實現和技術兼容性包進行開發和修訂。在 2006 年 8 月,Sun Microsystems 宣布它打算開放 Java 平臺的源碼,并開始征詢對許可協議和管理方式的反饋。
?
??
?
?
??
<!--Spacer-->
?
??
Java 語言的主要好處是,Java 應用程序可以跨硬件平臺和操作系統進行移植 —— 這是因為每個平臺上安裝的 JVM 都可以理解同樣的字節碼。
Java 語言和平臺的可伸縮性非常強。在低端,現有的應用程序可以很容易地適應內存資源有限的設備。這種語言是進行服務器端 Web 編程的理想框架。因為它被設計為按照一種安全的方式通過網絡運行,在通過互聯網進行操作時,它提供了一定程度的安全性。在本質上,Java 技術將用戶的計算能力從桌面擴展到了 Web 資源。Web 組件由稱為Web 容器(Web container) 的運行時平臺支持,Web 容器的服務包括請求分派、安全性、并發性、生命周期管理以及對命名、事務和電子郵件等 API 的訪問。在高端,Java 應用服務器(application server) 作為 Java 組件、XML 和 Web 服務的 Web 容器,可以與數據庫進行交互并提供動態的 Web 內容;它們還為企業應用程序提供應用程序開發環境,具有事務管理、安全性、集群、性能、可用性、連接性和可伸縮性等功能。
Java 語言是第一批支持企業開放標準的技術之一,支持使用 XML 和 Web 服務跨業務線共享信息和應用程序(參見下面的 Java 技術與 SOA/Web 服務的關系 )。Java 技術是許多 IBM 產品和技術咨詢服務的核心(參見下面的 Java 程序員可用的 IBM 工具和產品 ),是 IBM 發展計劃的重要部分:
- 了解關于 IBM 的面向服務架構(SOA) 計劃的更多信息,以及 SOA 如何幫助用戶構建復合應用程序,從而將來自多個來源的功能組合在企業中以支持橫向業務流程。
- IBM Business Innovation and Optimization 為戰略性調整提供一種基于組件的全面的方法。提供的解決方案基于一個靈活、可擴展、基于開放標準的軟件(包括 Java 技術)和硬件基礎結構。
-
-
Java 平臺的多個版本 Java 平臺有三個版本,這使軟件開發人員、服務提供商和設備生產商可以針對特定的市場進行開發:
-
Java SE(Java Platform,Standard Edition)
。Java SE 以前稱為 J2SE。它允許開發和部署在桌面、服務器、嵌入式環境和實時環境中使用的 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(Java Platform,Standard Edition)
。Java SE 以前稱為 J2SE。它允許開發和部署在桌面、服務器、嵌入式環境和實時環境中使用的 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 版。)
- Merlin 的魔力 系列討論了以前的 Java 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.0 應用程序。
- J2EE 探索者 專欄提供關于 Java EE 的知識。
- 走上開放之路:遷移到 Java 平臺 文章系列幫助 .NET、Windows 客戶機/服務器和 ASP 應用程序的開發人員遷移到 Java EE 平臺。
-
Java ME(Java Platform,Micro Edition)
。這個版本以前稱為 J2ME。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和打印機)上運行的應用程序提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網絡協議以及對可以動態下載的連網和離線應用程序的豐富支持。基于 Java ME 規范的應用程序只需編寫一次,就可以用于許多設備,而且可以利用每個設備的本機功能。
- 這個全面的 分四部分的系列 包含兩個教程和兩篇配套文章,它們集中介紹 J2ME 和 Mobile Information Device Profile(MIDP)。
- 還可以在 developerWorks Wireless technology 專區中找到許多 J2ME 參考資料,比如分兩部分的教程 “ 構建靈活的 J2ME 移動應用程序 ”。
?
??
?
?
<!--Spacer-->
?
??
developerWorks Java technology 專區維護了 標準 Java 組件技術 的完整詞匯表。下面是每個 Java 平臺版本的組件、可選包和擴展的部分列表,以及簡短的描述和參考資料的鏈接,可以通過這些參考資料進一步了解這些組件在 Java 開發中的作用。注意,下面的許多參考資料同時適用于三個版本。
Java SE 中的技術:
- JavaBeans Component Architecture 是一個為 Java 平臺定義可重用軟件組件的框架,可以在圖形化構建工具中設計這些組件。
- Java Foundation Classes(Swing) (JFC)是一套 Java 類庫,支持為基于 Java 的客戶機應用程序構建 GUI 和圖形化功能。(參見教程 “ Swing 入門 ”;“ 使用 Swing 進行動態界面設計 ” 和 “ 增強圖形用戶界面的可訪問性 ” 也有助于掌握 Swing。)
- JavaHelp 是一個獨立于平臺的可擴展的幫助系統,開發人員和作者可以使用它將在線幫助集成到 applet、組件、應用程序、操作系統和設備中,還可以提供基于 Web 的在線文檔。(參見 “ 向 Java 應用程序伸出援助之手 ”。)
- Java Native Interface (JNI)使 JVM 中運行的 Java 代碼可以與用其他編程語言編寫的應用程序和庫進行互操作。(參見 “ 用 Java 代碼處理本地對象的事件 ”。)
- Java Platform Debugger Architecture (JPDA)是用于 Java SE 的調試支持基礎結構。(參見 “ 診斷 Java 代碼: 軟件開發的未來 ”。)
- Java 2D API 是一套用于高級 2D 圖形和圖像的類(為圖像組合和 alpha 通道圖像提供豐富的支持)、一套提供精確的顏色空間定義和轉換的類以及一套面向顯示的圖像操作符。(參見教程 “ Java 2D 簡介 ”。)
- Java Web start 允許用戶通過一次點擊下載并啟動特性完整的應用程序(比如電子表格),而不需要進行安裝,從而簡化 Java 應用程序的部署。(參見 “ Java Web Start ”。)
- Certification Path API 提供了一套用于創建、構建和檢驗認證路徑(也稱為 “認證鏈”)的 API,可以安全地建立公共密鑰到主體的映射。(參見 “ 為測試 Java 應用程序生成證書鏈 ”。)
- Java Database Connectivity (JDBC)是一個 API,它使用戶能夠從 Java 代碼中訪問大多數表格式數據源,提供了對許多 SQL 數據庫的跨 DBMS 連接能力,并可以訪問其他表格式數據源,比如電子表格或平面文件。(參見 “ JDBC 3.0 有什么新特性 ” 和教程 “ 理解 JDBC ”。)
- Java Advanced Imaging (JAI)是一個 API,它提供一套面向對象的接口,這些接口支持一個簡單的高級編程模型,使開發人員能夠輕松地操作圖像。(參見 “ 利用 JSP 代碼管理您的圖像 ”。)
- Java Authentication and Authorization Service (JAAS)是一個包,它實現了標準的 Pluggable Authentication Module(PAM)框架的 Java 版本并支持基于用戶的授權,使服務能夠對用戶進行身份驗證和訪問控制。(參見 “ 用 JAAS 和 JSSE 實現 Java 安全性 ” 和 “ Java 授權內幕 ”;教程 “ Java 安全性, 第 2 部分: 認證與授權 ” 也有幫助。)
- Java Cryptography Extension (JCE)是一組包,它們提供用于加密、密鑰生成和協商以及 Message Authentication Code(MAC)算法的框架和實現。它提供對對稱、不對稱、塊和流密碼的加密支持,它還支持安全流和密封的對象。(參見教程 “ Java 安全性,第 1 部分: 密碼學基礎 ”。)
- Java Data Objects (JDO)是一種基于標準接口的持久化 Java 模型抽象,使程序員能夠將 Java 領域模型實例直接存儲進持久化存儲(數據庫)中,這可以替代直接文件 I/O、串行化、JDBC 以及 EJB Bean Managed Persistence(BMP)或 Container Managed Persistence(CMP)實體 bean 等方法。(參見教程 “ Java 數據對象上機實踐 ”;更深入的解釋請參考 “ 無需容器的對象關系映射 ”。)
- Java Management Extensions (JMX)提供了用于構建分布式、基于 Web、模塊化且動態的應用程序的工具,這些應用程序可以用來管理和監視設備、應用程序和服務驅動的網絡。(參見 “ 使用 Java 平臺管理 bean ”。)
- Java Media Framework (JMF)可以將音頻、視頻和其他基于時間的媒體添加到 Java 應用程序和 applet 中。(參見教程 “ Java Media Framework basics ”。)
- Java Naming and Directory Interface (JNDI)為 Java 應用程序提供一個連接到企業中的多個命名和目錄服務的統一接口,可以無縫地連接結構不同的企業命名和目錄服務。(參見 “ 工業強度的 JNDI 優化 ”;還可以參考 “ 走出 JNDI 迷宮 ”。)
- Java Secure Socket Extensions (JSSE)是一組包,它們支持安全的互聯網通信,實現了 SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)的 Java 版本,包含數據加密、服務器身份驗證、消息完整性和可選的客戶機身份驗證等功能。(參見 “ 用 JAAS 和 JSSE 實現 Java 安全性 ”;還可以參考教程 “ 將 JSSE 用于安全套接字通信 ”。)
- Java Speech API (JSAPI)包含 Grammar Format(JSGF)和 Markup Language(JSML)規范,使 Java 應用程序能夠將語音技術集成到用戶界面中。JSAPI 定義一個跨平臺的 API,支持命令和控制識別器、聽寫系統和語音識別器。(參見 “ Java 2 用戶界面 ”。)
- Java 3D 是一個 API,它提供一套面向對象的接口,這些接口支持一個簡單的高級編程模型,開發人員可以使用這個 API 輕松地將可伸縮的獨立于平臺的 3D 圖形集成到 Java 應用程序中。(參見教程 “ Java 3D 探奇 ”。)
- Metadata Facility 允許給類、接口、字段和方法標上特定的屬性,從而使開發工具、部署工具和運行時庫能夠以特殊方式處理它們。(參見 “ Tiger 中的注釋,第 1 部分: 向 Java 代碼中添加元數據 ”。)
- Java Content Repository API 是一個用于訪問 Java SE 中獨立于實現的內容存儲庫的 API。內容存儲庫是一個高級信息管理系統,它是傳統數據存儲庫的超集。(參見 “ Java Content Repository API 簡介 ”。)
- Enumerations(枚舉) 是一種類型,允許以類型安全的方式將特定的數據表示為常量。(參見 “ 枚舉類型入門 ”。)
- 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 對象之間進行自動的映射。(參見分三部分的教程 “ 利用 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 服務進階 ” 會幫助您掌握 Java Web Services Developers Pack。)
J2EE 中的技術:
- Enterprise JavaBeans (EJB)技術使用一個組件模型來簡化中間件應用程序的開發,它提供了對事務、安全性和數據庫連接等服務的自動支持。(參見教程 “ Enterprise JavaBean 基礎 ”;參見 EJB 最佳實踐 系列;閱讀 “ 使用 EJB 3.0 Java Persistence API 設計企業應用程序 ”。)
- Portlet Specification 定義了一套用于 Java 門戶計算的 API,可以解決聚合、個人化、表示和安全性方面的問題。(參見 “ 使用 Apache Pluto 構建和測試 JSR 168 兼容的 portlets ”。)
- JavaMail 是一個 API,提供了一套對郵件系統進行建模的抽象類。(參見教程 “ JavaMail API 基礎教程 ”。)
- Java Message Service (JMS)是一個 API,它為所有與 JMS 技術兼容的消息傳遞系統定義一套通用的消息概念和編程策略,從而支持開發可移植的基于消息的 Java 應用程序。(參見教程 “ Java 消息服務介紹 ”。)
- JavaServer Faces (JSF)提供一個編程模型,幫助開發人員將可重用 UI 組件組合在頁面中,將這些組件連接到應用程序數據源,將客戶機生成的事件連接到服務器端事件處理程序,從而輕松地組建 Web 應用程序。(參見 懷疑論者的 JSF 專欄和教程 “ 用 JavaServer Faces 進行 UI 開發 ”,以及 JavaServer Faces 技術專題 。)
- JavaServer Pages (JSP)允許 Web 開發人員快速地開發和輕松地維護動態的獨立于平臺的 Web 頁面,并將用戶界面和內容生成隔離開,這樣設計人員就能夠修改頁面布局而不必修改動態內容。這種技術使用類似 XML 的標記來封裝為頁面生成內容的邏輯。(參見教程 “ JSP 技術入門 ”;還請參考 JSP 最佳實踐 系列,以及 JavaServer Pages 技術專題 。)
- Standard Tag Library for JavaServer Pages (JSTL)是一個定制標記集合,它以一種標準化的格式啟用許多常見的 Web 站點功能。(參見 “ 使用 JSTL 來更新 JSP 頁面 ” 和分四部分的文章系列 “ JSTL 入門 ”。)
- Java Servlets 提供一種基于組件的獨立于平臺的方法,可以構建基于 Web 的應用程序,同時避免 CGI 程序的性能限制,從而擴展并增強 Web 服務器的功能。(教程 “ Java Servlet 技術簡介 ” 可以幫助您了解 Java Servlets。)
- J2EE Connector Architecture (JCA)為將 J2EE 平臺連接到各種結構的 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 平臺定義了一個信息管理模型。根據其設計,J2EE Management Model 可與多種管理系統和協議進行互操作;包含模型到 Common Information Model(CIM)的標準映射,CIM 是一個 SNMP Management Information Base(MIB);還可以通過一個駐留在服務器上的 EJB 組件 —— J2EE Management EJB Component(MEJB) —— 映射到 Java 對象模型。(參見 “ 從黑箱到企業,第 1 部分: 管理,JMX 1.1 樣式 ”。)
- 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)傳播事務。(參見 “ Understanding JTS -- An introduction to transactions ”。)
J2ME 中的技術:
- Connected Limited Device Configuration (CLDC)是組成資源有限的移動信息設備的 Java 運行時環境的兩種配置之一。CLDC 描述最基本的庫和虛擬機特性,所有包含 K 虛擬機(K virtual machine,KVM)的 J2ME 環境實現中都必須提供這些庫和特性。
- Mobile Information Device Profile (MIDP)是組成資源有限的移動信息設備的 Java 運行時環境的兩種配置之一。MIDP 提供核心應用程序功能,包括用戶界面、網絡連接、本地數據存儲和應用程序生命周期管理。(參見教程 “ Implementing Push technology with J2ME and MIDP ”;閱讀 “ Better MIDlets by design ”、“ Custom GUI development with MIDP 2.0 ” 和教程 “ MIDlet development with the Wireless Toolkit ”。)
- Connected Device Configuration (CDC)是一個基于標準的框架,用來構建和交付可以跨許多連接網絡的消費類設備和嵌入式設備共享的應用程序。(參見 “ 確保無線 J2ME 的安全 ”。)
- Mobile 3D Graphics API for J2ME(M3G) 是一種輕量的交互式 3D 圖形 API,它作為可選的包與 J2ME 和 MIDP 結合使用。(參見分兩部分的文章 “ 針對 Java 移動設備的 3D 圖形 ”。)
?
??
?
?
<!--Spacer-->
?
??
面向服務體系結構是一種組件模型,它通過服務之間定義良好的接口和合約將應用程序的功能性單元(稱為服務,或 Web 服務)聯系在一起。定義接口的方式獨立于硬件、操作系統和用來實現服務的編程語言,這使在不同系統上構造的服務可以以統一的通用的方式相互進行交互。SOA 是一種松散耦合的模型,可以替代更傳統的緊密耦合的面向對象模型。
產生的 Web 服務可以用 XML 定義業務規則和過程,使軟件應用程序可以按照一種獨立于平臺和編程語言的方式進行通信。XML 技術使數據具有可移植性并促進消息的創建,而 Java 技術使代碼具有可移植性。XML 和 Java 語言能夠很好地結合在一起,這使它們成為構建和部署 Web 服務的理想組合。
可以通過以下參考資料了解關于 SOA 的更多信息:
- developerWorks 上的 SOA and Web services 新手入門 和 XML 新手入門 頁面會幫助您開始學習這些復雜的技術。
- “ Java Web 服務,第 1 部分: Java Web 服務在未來一年內的發展 ” 啟動一個文章系列,這個系列介紹新的 Java Web 服務框架和在 Web 服務上構建的新的功能層。
- “ SCA application development, Part 1: An overview of Service Component Architecture ” 提供了一個關于 Service Component Architecture (SCA) 的文章系列,SCA 是一個規范,它描述一個使用 SOA 構建應用程序和系統的模型。
- “ 服務數據對象簡介 ” 介紹了 Service Data Objects (SDO) 框架,這個框架簡化了基于 SOA 的應用程序的 Java EE 數據編程模型。
- 還可以訪問 developerWorks Web 開發專區 ,這里有對構建企業應用程序的技術建議。
?
??
?
?
<!--Spacer-->
?
??
大量的 開放源碼項目 通過庫、工具、框架、應用程序和應用服務器對 Java 技術進行擴展,從而幫助程序員利用這種強大的技術。許多開放源碼技術已經結合到了 Java 平臺本身之中,還有一些技術受到了 Java 開發人員的喜愛(在某些情況下甚至已經成為事實標準)。
可以通過以下參考資料進一步了解 Java 編程方面的開放源碼技術:
-
Apache Software Foundation
這個龐大的組織主持著大量開放源碼項目,其中很多是基于 Java 語言的。比如:
- Apache Struts 是一個用來創建基于 Model-View-Controller 設計模式的 Java Web 應用程序的框架。(參見 “ 深入 Struts 1.1 和 Struts 專題 ”。)
- Apache Shale 是一種基于 JavaServer Pages 技術的現代的 Web 應用程序開發框架,是 Apache Struts 的后續者。( 你好,Shale 文章系列介紹了 Shale。)
- Apache Ant 是 Java 開發構建工具的事實標準。(參見教程 “ Apache Ant 101:使 Java 項目生成易如反掌 ” 和 “ 以編程方式調用 Apache Ant ”。)
- Apache Tomcat 是一種流行的 Web 容器,它支持 servlet 和 JavaServer Pages 技術。(教程 “ Tomcat for beginning Web developers ” 會幫助您學習 Tomcat。)
- Apache Geronimo 項目正在構建一個完全基于開放源碼組件的完全符合規范的 Java EE 應用服務器。(“ Geronimo 入門 ” 介紹了 Geronimo 的基礎知識,還可以查閱 developerWorks Apache Geronimo 項目資源中心 中的大量 Geronimo 信息。)
- Apache Derby 是一種完全用 Java 語言實現的關系數據庫。(通過 “ 用 Apache Derby 進行開發 —— 取得節節勝利: 介紹 Apache Derby ” 學習基礎知識,并查閱 developerWorks Apache Derby 項目參考資料 中的大量信息。)
-
Eclipse
是一種獨立于廠商的開放式開發平臺,提供了一套用來構建軟件的應用程序框架。Eclipse 平臺是用 Java 語言編寫的,提供了一個基于插件的框架,這使得創建、集成和使用軟件工具更加容易。(IBM 是 Eclipse 的創始成員之一,并積極參與 Eclipse.org Board of Stewards 及其工作小組委員會。)通過以下參考資料進一步了解這個平臺為 Java 開發提供的組件技術:
- AspectJ 是面向方面的 Java 語言擴展,可以用來對橫切關注點(比如日志和異常處理)進行模塊化。(參見教程 “ AOP 介紹 ”。)
- Standard Widget Toolkit (SWT) 是一個用戶界面工具包,可以按照高效且可移植的方式訪問底層操作系統的 UI 設施。(參見 “ SWT 和 JFace,第 1 部分: 簡介 。”)
- Eclipse Test and Performance Tools Platform (TPTP)為測試和性能工具提供框架和服務。(參見教程 “ Eclipse Test and Performance Tools Platform 簡介 ?!?
- Eclipse Web Tools Platform (WTP)為 Eclipse 平臺提供了用來開發 Java EE Web 應用程序的工具。(參見教程 “ Eclipse Web 工具平臺 V1.0 簡介 ”。)
-
流行的
Spring 框架
是一種用于 Java EE 應用程序開發的層次化框架:
- Spring 系列 和 “ Spring 2 和 JPA 簡介 ” 提供了詳細信息。
- 訪問 Spring 專題 ,學習更多有關 Spring 框架的文章和教程。
?
??
?
?
<!--Spacer-->
?
??
可以按照兩條路線提高自己的技能:參加一個課程(為了認證或者只是為了學習)或自學(當然,還要通過編寫代碼進行實踐)。除了能夠從有經驗的開發人員那里獲得知識之外,課程或認證路線還可以向老板有力地證明您具備他們需要的技能。使用各種參考資料進行自學,可以在 Java 技術的各個方面提高您的技能。以下參考資料對于這兩種學習方式都有幫助:
-
教程和文章
- developerWorks 提供了大量 實用的基于 Java 的教程 ,這是僅次于自己編寫代碼的最佳學習方法。Roy Miller 的 “ Java 編程介紹 ” 和 “ 中級 Java 編程 ” 教程提供了對 Java 語言的全面介紹,可以幫助您入門。
- Merlin 的魔力 和 馴服 Tiger 系列是可以幫助您提高 Java 編程技能的精彩資料。
- 如果您是剛剛接觸 Java 編程的 C/C++ 程序員,那么 “ Java programming for C/C++ developers ” 教程可以幫助您加快學習速度,它對比了 Java 和 C/C++ 的編程概念。
- Extreme Programming(極限編程,XP)是一種應用程序設計哲學,它將連續測試、測試先行 、現場客戶輸入、重構(即改進代碼而不改變功能)等方法組合在一起。如果您沒有聽說過 XP 精華 ,這篇文章可以為編寫 Java 應用程序提供一個優秀的工具。(“ 揭開極端編程的神秘面紗: “XP 精華”重訪,第 2 部分 ” 詳細描述了實踐。)
- 將設計理論轉換為實際的應用程序是 Java 理論與實踐 系列的焦點。
- Java 程序員可以設計出集成了 bug 探測和測試的應用程序。developerWorks 提供的 診斷 Java 代碼 專欄討論了 Java 調試(重點關注一個稱為 bug 模式的工具)。關于這個主題的有幫助的其他文章包括來自 Brian Goetz 的 平衡測試 文章以及 “ 消除 bug ”。
- 您可能聽說過一種稱為 Ajax 的編程方法。如果想知道 Java 開發人員如何應用這種技術,就請閱讀 Phil McCarthy 的系列 面向 Java 開發人員的 Ajax 。(請訪問 Ajax 技術資源中心 和 Web 2.0 開發資源 ,可以找到更多 Ajax 技術與構建 Web 2.0 網站方面的文章和教程)
-
圖書和 Web 站點:
- “ Java 專業人士必備的書籍和網站列表 ” 是最好的起點。
-
游戲
- Robocode 是一個用 Java 技術構建的容易使用的機器人大戰模擬器,它在教您進行編程的同時,可以提供數小時純粹的娛樂。關于 Robocode 的介紹,請閱讀 “ 重錘痛擊 Robocode! ”;更多相關內容,請訪問 Robocode 技巧精粹專欄 。
- CodeRuler 、 CodeRally 和 CodeInvaders Challenge 是在 Eclipse 平臺上構建的基于 Java 的實時編程游戲。關于 CodeRuler 的介紹,請閱讀 “ 用 CodeRuler 征服中世紀王國 ”。
-
IBM 技術培訓
- 可以在 IBM Global Services 提供的各種在線、課堂和基于多媒體的 Java 課程 中進行選擇。
-
認證培訓
- 如果您正在考慮對自己的 Java 技能進行認證,那么要參加幾個考試。為了幫助您準備考試,我們在 Whizlabs 的朋友編寫了分四部分的教程 “ Java 認證成功之路 ”,這些教程討論了 Sun Certified Java Programmer(SCJP)1.4、Sun Certified Web Component Developer(SCWCD)、Sun Certified Business Component Developer(SCBCD)和 Sun Certified Enterprise Architect(SCEA)。對于 SCJP exam for Java SE 5 的更新,請閱讀文章 “ Are you SCJP 5 certified? ”?!? Preparing for the Mobile Application Developer Certification ” 幫助您準備 Sun Certified Mobile Application Developer(SCMAD)。
- IBM 在 WebSphere 開發(用于企業 Java 應用程序)、IBM Rational 軟件、DB2、XML 和 SOA 等相關技術領域提供 專業人員認證 。
-
論壇
- 要想以更加交互式的方法學習 Java 語言,請參與 Java discussion forums ,這里聚集了著名的專家,他們在運用 Java 相關技術方面有著豐富的實際經驗。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
