龐大的Java家族

來源:互聯網
上載者:User

什麼是 Java 技術? 
Java 技術(版本 2)是一種物件導向的程式設計語言,是 Sun Microsystems 所開發的編程平台。Java 技術基於單一 JAVA 虛擬機器(JVM)的概念,JVM 是程式設計語言與機器底層軟體和硬體之間的翻譯器。程式設計語言的所有實現都必須類比 JVM,從而使 Java 程式可以在具有 JVM 版本的任何系統上運行。Java 程式設計語言是與眾不同的,因為 Java 程式需要經過編譯(翻譯為叫做 Java 位元組碼的中繼語言)和解釋(通過 JVM 分析和運行位元組碼)。編譯只進行一次,而解釋則在每次運行程式時都要進行。編譯的位元組碼是 JVM 的最佳機器碼形式;解釋程式是 JVM 的實現。Java 平台具有三個版本(請參閱下面的 Java 平台的多個版本),該平台由 JVM 和 Java Application Programming Interface (API) 組成,Java API 是現成軟體組件的集合,便於進行 applet 和應用程式的開發和部署,其中包括健壯的、安全的和可互操作的公司專屬應用程式程式。Java API 被分組到相關類和介面的庫中;這些庫稱為包。
要瞭解 Sun 的 Java 程式設計語言的未來發展方向,請閱讀 2003 JavaOne Developer Conference 的 technical keynote digest。

Java 平台的多個版本
因為 Java 技術的迅速普及,開發人員強烈要求某些東西更簡單些。Sun Microsystems 通過建立三個 Java 平台版本來滿足此需要 ― Standard Edition、Enterprise Edition 和 Micro Edition。

  1. J2SE (Java 2 Standard Edition)

包括標準的 Java 2 SDK、工具、運行時環境和 API,用於那些採用 Java 程式設計語言編寫、部署和運行 applet 和應用程式的開發人員。 Merlin 的魔力 專欄極好地介紹了最新版本的 J2SE 1.4。

    2.  J2EE (Java 2 Enterprise Edition)

通過基於標準化模組組件,通過為這些組件提供一整套服務,以及通過自動處理應用程式行為的許多細節,而無需進行複雜編程,企業版簡化了多層公司專屬應用程式程式的構造和部署。J2EE 探索者 專欄將增加您對此版本的瞭解。

     3.  J2ME (Java 2 Micro Edition)

該版本是高度最佳化的 Java 運行時環境,針對特定的消費者領域,從智能型手機或呼叫器到機頂盒等一系列小型裝置(外形小或者儲存能力受限)。在“ J2ME 101,第 1 部分:介紹 MIDP 的高層 UI”教程中可以瞭解更多關於 J2ME 的資訊。(您還可以在 developerWorks 無線 專題找到許多 J2ME 參考資料。)

  Java 技術為什麼重要? 
總體來說,Java 語言的主要優點在於跨平台和作業系統的可移植性,以及它可以通過頻寬相對較窄的通道提供(比如撥號連線)。Java 語言還具有延展性;現有應用程式可以很容易地適應那些受記憶體資源限制的裝置。另外,由於 Java 語言設計用於通過網路以安全的方式運行,所以當通過 Internet 操作時,它也提供了此層級的安全性。本質上,Java 技術將使用者計算能力從案頭擴充到了 Web 資源。
到頁首 
  什麼是 Java 組件技術? 
管理 Java 技術縮減詞的字母湯(alphabet soup)可能是一項巨大的任務,就正如通過 Java Community Process 管理 Java 語言的發展一樣。下面是 Java 語言各版本的組件、可選包和擴充包的部分列表(也就是組成這個平台的複雜組件),並給出了簡短描述和參考資料連結,用以說明它在 Java 開發領域中的作用。注意下面許多參考資料都可以在各版本中使用。
J2SE 中的技術:
Java Access Bridge 用於 Microsoft Windows,它起到了橋接器的作用,允許基於 Windows 的輔助技術與 Java Accessibility API 進行互動(請參閱“為可訪問性編碼”。)
JavaBeans Component Architecture 是平台獨立的規範,它為 Java 平台定義了一套標準組件軟體 API。(請參閱“Reflecting, introspecting, and customizing JavaBeans”。)
Javadoc 是一種工具,用於從原始碼的 doc 注釋中產生 HTML 格式的 API 文檔。(請參閱“Java 理論和實踐:我必須對那些內容進行文檔編製嗎?”。)
Java Foundation Classes (Swing) (JFC) 是 Java 類庫的集合,它支援為基於 Java 的客戶機應用程式構建 GUI 和圖形功能。(請參閱“Java 2 使用者介面”。)
Java Platform Debugger Architecture (JPDA) 是 Java 2 的調試支援基礎設施。JPDA 包括三層 API:
JDI (Java Debug Interface)是一種支援遠端偵錯的進階別程式設計語言介面。
JDWP (Java Debug Wire Protocol) 定義在調試過程和調試器前端之間傳輸的資訊和請求的格式。
JVMDI (Java Virtual Machine Debug Interface) 是低層級本地介面,定義了調試時 JVM 必須提供的服務。
(請參閱“ 軟體開發的未來 ”。)
Java 2D API 是用於進階 2D 圖形和成像(為映像合成和 Alpha 色板映像提供廣泛支援)的類集合,是提供正確的色彩空間定義和轉換的類集合,是面向顯示的成像操作符的集合。(請參閱教程“Java 2D簡介”。)
Java Web Start 使您可以通過單擊而無需經曆安裝過程來下載和啟動功能完善的應用程式(如試算表),從而簡化 Java 應用程式的部署。(請參閱“Java Web Start”。)
Java Database Connectivity (JDBC) 是一種 API,使您可以從 Java 內訪問大多數表格式資料來源,它提供了大多數 SQL 資料庫的跨 DBMS 連通性,以及對其他表格式資料來源的訪問(如試算表或一般檔案)。(請參閱“JDBC 3.0 有什麼新特性”。)
Remote Method Invocation (RMI) 提供引導命名服務,不會改變類型,並使用對象序列化使編程人員能夠建立基於 Java 技術的分布式應用程式,在該應用程式中,可以從不同主機上的其他 JAVA 虛擬機器上調用遠程 Java 對象的方法。(請參閱教程“分布式對象 101-使用RMI和CORBA ”。)
Java Advanced Imaging (JAI) 是一種 API,提供了物件導向的介面的集合,這些介面支援簡單的進階編程模型,使得開發人員可以很容易地操縱映像。(請參閱“利用 JSP 代碼管理您的映像”。)
Java Authentication and Authorization Service (JAAS) 是一個包,它啟用服務,通過實現標準 Pluggable Authentication Module (PAM) 架構的 Java 版本,通過支援基於使用者的授權,對使用者進行驗證和執行存取控制。(請參閱教程“Java 安全性 第二部分 認證與授權”;“擴充 JAAS 實作類別執行個體級授權”也是很好的資訊來源。)
Java Cryptography Extension (JCE) 是一個包集合,提供了加密、密鑰產生和協議以及 Message Authentication Code (MAC) 演算法的架構和實現。它提供了對稱、非對稱、分組和流密碼的加密支援,並支援安全流和密封對象。(請參閱教程“Java 安全性第一部分 密碼學基礎”。)
Java Data Objects (JDO) 是持久性的基於標準介面的 Java 模型抽象,它允許編程人員直接將 Java 領域模型執行個體儲存到持久儲存(資料庫)中,可能替代直接檔案輸入輸出、序列化、JDBC 和 EJB Bean Managed Persistence (BMP) 或 Container Managed Persistence (CMP) Entity Bean 等方法。(請參閱教程“Java 資料對象上機實踐”。)
Java Management Extensions (JMX) 提供的工具用於構建分布式、基於 Web 的、模組化和Live App程式,以便管理和監視裝置、應用程式和服務驅動的網路。(請參閱由三部分組成的“從黑箱到企業,第 1 部分:管理,JMX 1.1 樣式”。)
Java Media Framework (JMF) 允許音頻、視頻和其他基於時間的媒體添加到 Java 應用程式和 applet 中。(請參閱教程“Java Media Framework 基礎”。)
Java Naming and Directory Interface (JNDI) 是一種標準擴充包,為企業中的多個命名和目錄服務提供具有統一介面的 Java 應用程式,允許不同種類的企業命名和目錄服務的無縫連通性。(請參閱“EJB 最佳實務:工業強度的 JNDI 最佳化”。)
Java Secure Socket Extensions (JSSE) 是啟用安全 Internet 通訊的包集合,實現 SSL (Secure Sockets Layer) 和 TLS (Transport Layer Security) 協議的 Java 版本,並包括資料加密、伺服器驗證、訊息完整性和可選客戶機驗證的功能。(請參閱教程“將 JSSE 用於安全通訊端通訊”。)
Java Speech API (JSAPI) 允許 Java 應用程式將語音技術合并到使用者介面中。JSAPI 定義了跨平台的 API,以支援命令和控制識別程式、聽寫系統和語音合成器。(請參閱“The Java 2 user interface”部分。)
Java 3D 是一種 API,通過提供支援簡單進階編程模型的一組物件導向的介面,開發人員可以使用它容易地將可伸縮的平台獨立的 3D 圖形合并到 Java 應用程式中。(請參閱教程“Java 3D 探奇 ”。)
J2EE 中的技術:
Java API for XML Processing (JAXP) 通過使應用程式解析和轉換不依賴特定 XML 處理實現的 XML 文檔,通過使開發人員可以靈活地在 XML 處理器程式之間進行交換,而無需更改應用程式代碼,從而支援使用 DOM、SAX 和 XSLT 處理 XML 文檔。(請參閱“使用 Java 編程利用線上 XML 資料”。)
Java API for XML Registries (JAXR) 為訪問不同種類的 XML 註冊中心提供了統一和標準的 API (用於構建、部署和發現 Web 服務的可用基礎設施)。(請參閱 Java 技術標準。)
Java API for XML-based RPC (JAX-RPC) 使開發人員可以開發基於 SOAP 的可互操作的和可移植的 Web 服務。(請參閱 Java 技術標準。)
SOAP with Attachments API for Java (SAAJ) 使開發人員可以生產和消費符合 SOAP 1.1 規範和 SOAP with Attachments 註解的訊息。(從“使用SAAJ發送和接收SOAP訊息”開始;有關 XML 技術的詳細資料,請參閱 developerWorks XML 專區。)
Common Object Request Broker Architecture (CORBA) 是異構計算的開放標準,通過提供分布式對象架構、支援該架構的服務以及與其他語言的互通性,該標準對 Java 進行了補充。(請參閱教程“使用RMI和CORBA ”;“企業中的 RMI-IIOP”也是很好的資訊來源)。
ECperf 是用於度量 Web 商務系統的效能和延展性的基準。它包括:組成應用程式的 EJB 組件;使用 JSP 進行單一使用者/互動測試的 Web 客戶機;模式指令碼和載入程式;makefile 和部署描述符;用於實現運行規則和類比客戶機載入的驅動程式。(請參閱 Java 技術標準。)
Enterprise JavaBeans (EJB) 是一種技術,通過提供對事務、安全性、資料庫連通性等服務的支援,它使用組件模型來簡化中介軟體應用程式的部署。(請參閱介紹該技術的教程“Enterprise JavaBean 基礎”;另請參閱系列文章 EJB 最佳實務。)
Java Authorization Contract for Containers (Java ACC) 是一種規範,它定義了容器使用的授權提供者的安裝和配置。Java ACC 定義了提供者必須使用的介面,從而允許容器部署工具建立和管理與角色相對應的許可權集合。(請參閱教程“Developing accessible GUIs with Swing”。)
JavaMail 是一種 API,它提供了類比郵件系統的抽象類別的集合。(請參閱教程“ JavaMail API 基礎”。)
Java Message Service (JMS) 是一種用來添加提供者架構的 API。通過定義所有相容 JMS 技術的訊息系統所支援的訊息概念和編程策略的公用集合,該架構為 Java 平台啟用了可移植的、基於訊息的應用程式的部署。(請參閱“實現獨立於供應商的 JMS 解決方案”。)
JavaServer Faces 提供了一種編程模型,通過彙集頁面中可重用的 UI 組件,將這些元件連線到應用程式資料源以及將客戶機產生的事件寫入伺服器端事件處理常式,該模型有助於開發人員開發 Web 應用程式。(請參閱“JSP pages, evolving and contributing to Web services”。)
JavaServer Pages (JSP) 使 Web 開發人員可以使用單獨的使用者介面和內容產生功能,快速地進行開發和輕鬆地維護動態、平台獨立的 Web 頁面,這樣設計人員就可以更改頁面配置,而無需改變動態內容。該技術使用類似於 XML 的標籤,這些標籤封裝了用於產生頁面內容的邏輯。(請參閱教程“JSP 技術入門 ”;另請參閱系列文章 JSP 最佳實務。)
Java Servlets 是一種擴充和增強 Web 服務器功能的 Java 方式。要做到這一點,應該為構建基於 Web 的應用程式提供基於組件的平台獨立的方法,而不會出現 CGI 程式的效能限制。(developerWorks 中有許多關於 servlet 的資訊。“建立 Java HTTP Servlet”和“構建帶會話跟蹤的 Servlet”這兩篇入門教程應該是最好的起點。)
J2EE Connector Architecture 定義了一種標準體繫結構,通過定義一組可伸縮的、安全的事務性機制,允許 EIS 供應商提供插入到應用伺服器中的標準資來源配接器,該體繫結構用於將 J2EE 平台串連到異構公司資訊系統(Enterprise Information Systems, EIS)。(請參閱教程“J2EE Connector Architecture 介紹”。)
J2EE Management Specification (JMX) 定義了 J2EE 平台的管理資訊模型。該模型設計用於與許多管理系統和協議互操作,包括到 Common Information Model (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 的實現, Transaction Manager 支援 JTA,並在低於 API 的層級上實現 OMG Object Transaction Service (OTS) 1.1 規範的 Java 映射。JTS 使用 Internet Inter-ORB Protocol (IIOP) 傳輸事務。(請參閱“理解 JTS ― 平衡安全性和效能 ”。)
J2ME 中的技術:
Connected Limited Device Configuration (CLDC) 是組成資源受限移動資訊裝置的 Java 運行時環境的兩個配置之一。CLDC 提供了最基本的庫集合和虛擬機器功能,在包含 K 虛擬機器(KVM)的 J2ME 環境的每個實現中,這些都是必須存在的。(請參閱“Know no limits: Approaches to mobile device constraints”)
Mobile Information Device Profile (MIDP) 是組成資源受限移動資訊裝置的 Java 運行環境的兩個配置之一。MIDP 提供核心應用程式功能,包括使用者介面、網路連通性、本機資料儲存和應用程式生命週期管理。(請參閱教程“Implementing Push technology with J2ME and MIDP”。)
Connected Device Configuration (CDC) 是一種基於標準的架構,用於構建和提供可在許多網路連接消費者和嵌入式裝置之間共用的應用程式。(請參閱“Securing wireless J2ME”。)
developerWorks Wireless technology 專區包含了 J2ME 相關技術的多篇文章和教程。
Java 網路技術:
JAIN APIs 是一組基於 Java 的 API,用於快速開發下一代電信產品和服務。(請參閱 Java 技術標準。)
Java Metadata Interface (JMI) 是實現動態、平台獨立的基礎設施的規範,它允許進行中繼資料的建立、儲存、訪問、發現和交換。該規範基於 Object Management Group (OMG) 的 Meta Object Facility (MOF) 規範,由一組使用整合模組化語言(Unified Modeling Language,UML)描述的基本建模工件組成。(請參閱 Java 技術標準。)
JavaGroups 是一個軟體工具包(API 庫),用於使用分布式系統解決方案進行設計、實現和實驗。(請參閱“High-impact Web tier clustering, Part 1”和 Part 2。)
Jini 是一種開放體繫結構,用於為硬體和軟體建立高適應性的以網路為中心的服務。Jini 系統體繫結構由三個類別組成:編程模型、基礎設施和服務。(請參閱“Jini networking technology, the next step”。)
JXTA 是一組開放協議,允許網路上所有串連裝置以 P2P 方式通訊和協作。JXTA 對等方建立虛擬網路,任何對等方都可以在其中與其他對等方或資源進行直接互動,甚至當一些對等方和資源位於防火牆或 NAT 後或者位於不同的網路傳輸中也是如此。(請參閱“Making P2P interoperable: The JXTA story”。)
到頁首 
Java 技術如何與 Web 服務聯絡起來? 
Web 服務是一種技術,允許用 XML 定義商務規則和過程,這樣軟體應用程式能夠以平台獨立和程式設計語言無關的方式進行通訊。XML 技術使資料可以移植,方便了訊息建立,而 Java 技術則使代碼可以移植。事實上,XML 和 Java 語言可以很好地結合起來,成為構建和部署 Web 服務的完美組合。
瞭解更多資訊:
developerWorks 的“Web services 新手入門”和“XML 新手入門”頁面將協助您瞭解這些複雜的技術。
如何提高 Java 編程技能? 
有兩種途徑可以提高您的技能:選學一門課程(為獲得認證或僅為了學習)或者自學(當然要通過編寫代碼來練習)。除了汲取有經驗的開發人員的知識外,擷取認證途徑還可以向未來的僱主提供確實的證據,證明您擁有構建他們要求的技術所需的技能。通過實驗自己的技能,使用可用資源,您可以在 Java 技術的不同領域提高您的技能。下列參考資料對以上兩種途徑都應該有協助。
瞭解更多資訊:
要獲得 Java 語言的全面介紹,Java 語言基礎 教程是個很好的起點。
如果基本教程看起來有些複雜,您可以嘗試 Robocode。Robocode 是基於 Java 技術構建的便於使用的機器人戰爭類比程式,它在提供純粹娛樂的同時教您如何編程。要獲得 Robocode 的介紹,請閱讀“重鎚痛擊 Robocode!”
如果您是 C/C++ 編程人員,不熟悉 Java,“Java programming for C/C++ developers”教程通過比較和對照 Java 編程概念和 C/C++ 編程概念,可以協助您快速入門 Java。
本文是循序漸進的 協助您準備 SCJP 考試指南,即 Sun Certified Java Programmer 認證考試。
IBM 在 WebSphere 開發(用於企業 Java 應用程式)、DB2、XML、電子商務和 Linux 這些相關技術方面提供了 專業認證。
如果您沒有聽說過 XP 精華 或 XP,它是一種應用程式設計理念,它合并了連續階段測試、在編碼前編寫測試、現場客戶輸入、重構(在不更改功能的情況下改進代碼)等,本文可提供用於編寫 Java 應用程式的極好工具。(揭開極端編程的神秘面紗:“XP 精華”重訪,第 2 部分 中詳細描述了如何進行實踐。)
將設計理論轉換為實際應用程式是 Java 理論與實踐 系列文章的出發點。
Java 編程人員知道利用整合 bug 檢測和測試進行程式設計,所以利用 Java 調試 提高您的調試技能。而且,developerWorks 提供了關於 Java 調試(重點是稱為 bug 模式的工具)的專欄集,稱為 診斷 Java 代碼。
developerWorks 提供了大量 基於 Java 的教程,這是下一代自己編寫代碼的最佳學習體驗。
要獲得更多學習如何使用 Java 語言的互動式方法,請參加 Java 討論區,該論壇由具有多年 Java 相關技術開發經驗的著名專家主持。
  Java 編程人員可以使用哪些 IBM 工具和產品? 
作為在 Java 技術使用方面的一流創新者,IBM 站在了最前線。瀏覽 Java technology downloads and products 頁面可以獲得工具和產品的完整列表。以下提供了一些重要部分。
瞭解更多資訊:
軟體開發工具箱:構造應用程式的工具箱,用於各種 Java 相關技術的大量工具。下面只是其中的幾個:
IBM developer kits for Java technology,用於在一些最普通的 IBM 平台上建立和測試 Java applet 和應用程式。
Agent Building and Learning Environment,用於開發混合智能軟體代理和代理應用程式。
Emerging Technologies Toolkit 在格線運算、非同步 Web 服務、商務程序、自主計算和其他服務中為 Web 服務開發提供進階工具。
Toolkit for MPEG-4,Java 類和帶有簡單應用程式的 API 的集合,用於產生 MPEG-4 內容,以便與相容 MPEG-4 的裝置一起使用。
Update Tool,一種使基於 Java 傳統型應用程式的使用者可以易於升級的機制。
Java technology on alphaWorks 是 IBM 產生的 Java 相關技術的虛擬倉庫,包括 API、整合式開發環境和 devkit、組件、參考實現和公用程式。
WebSphere 系列的 Java 開發工具:
Application Server。
Branch Transformation Toolkit for WebSphere Studio,以前稱為 WebSphere Business Components Composer,是一組工具、組件和服務,它們用於加速構建訪問事務系統的多通道銀行應用程式。
MQ 是允許應用程式相互連信的應用程式編程服務。
MQ Everyplace 允許利用確定的訊息提供方式訪問移動工作者和遠程裝置的企業資料。
Business Integration Message Broker 協助將資訊引向需要它的位置和時間,以及協助訪問公司資料,而不管資料位元於何處,採用何種格式。
SDK for Web Services。
Studio Site Developer 為構建和維護動態 Web 網站、Web 服務和 Java 應用程式提供開發環境。
Studio Application Developer 是基於 Web 的應用程式的整合式開發環境。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.