Time of Update: 2017-02-27
在伺服器端,如果用 Java 語言實現的話,直接與瀏覽器打交道的要算JavaServer Pages(JSPs)和Servlets了。在它們的後面還有通過Java實現的Data Beans、DB Beans和Commands。1.Java Server Pages(JSPs)JavaServer Pages(JSPs)是對HTML的另一種擴充,它可以通過一些特殊的標籤向頁面中插入動態資訊。如可以利用<%和%>標籤添加Java
Time of Update: 2017-02-27
一個好的編程模型,必須要具備良好的功能性、可靠性、可用性、高效性、可維護性和可移植性。而Java作為一種程式設計語言,其特點符合了這些要求,所以在 Web應用的開發中得到了廣泛的使用。當前最流行的Web應用伺服器,也多採用Java架構,如IBM的WebSphere Application Server和BEA的WebLogic Application Server等。Java的各種技術在應用伺服器之上的其他部分扮演著重要的角色,成為整個Web應用的靈魂。如何選擇一個合理的編程模型,有效利用它們,
Time of Update: 2017-02-27
import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;/*** 對字元集中字元出現的次數繼續排序。** @author 趙學慶 */public class T { public static void main(String args[]) { String str =
Time of Update: 2017-02-27
Java 語言中常被忽視的一個方面是它被歸類為一種命令式(imperative)程式設計語言。命令式編程雖然由於與 Java 語言的關聯而相當普及,但是並不是惟一可用的編程風格,也不總是最有效。在本文中,我將探討在 Java 開發實踐中加入不同的編程方法 ── 即函數編程(FP)。命令式編程是一種用程式狀態原因計算的方法。使用這種範型的編程人員用語句改變程式狀態。這就是為什麼,像 Java 這樣的程式是由一系列讓電腦執行的命令 (或者語句) 所組成的。另一方面,
Time of Update: 2017-02-27
1.equals()在初學Java的時候,很多人會說在比較對象的時候,==是比較地址,equals()是比較對象的內容,誰說的?看看equals()方法在Object類中的定義:public boolean equals(Object obj){
Time of Update: 2017-02-27
本文分析了在 Java 平台上可用的兩個資料管理策略:Java 對象序列化和 Java 資料庫連接(JDBC)。儘管本質上這兩種資料管理策略並不存在孰優孰劣的問題,但在管理公司資訊系統時,JDBC 輕而易舉地得以勝出。在本文中,Java 開發人員 G.V.B. Subrahmanyam 和 Shankar Itchapurapu 對序列化和 JDBC都進行了介紹,並通過討論和執行個體來向您展示了 JDBC
Time of Update: 2017-02-27
在最近幾年裡,Java 行業的發展呈指數級增長。作為一名公司專屬應用程式程式開發人員、架構設計師或者技術經理,您可以從許多供應商、最佳實務、規範和組件類型中為您的 Java 技術實現進行選擇。J2EE 探險者系列的目的是協助您從這些選擇中找到一條途徑,對於任何一種給定的情形,協助您挑選合適的技術。在本文,也就是第 1 部分中,我們將探討無狀態 J2EE 組件,並評估出最合適的組件來用於您的企業體繫結構。說到無狀態、請求處理組件,可供選擇的 J2EE 技術主要有兩種:servlet 或
Time of Update: 2017-02-27
從很小都認識蘋果機了,我不記得我是否在小學的時候學過Basic,只記得大學實驗室裡的蘋果機我的確是摸過(得益於我是教師子弟,有“特殊待遇”),也看到電腦系的學生們編寫的遊戲。初中,有了自己的遊戲機。玩過魂鬥羅,坦克。當時覺得很不過癮,心想以後能自己編寫遊戲就好了,於是立志以後做個程式員。高考不順利,只考上了普通學校電力專業。這還是幸虧當時學校的羅老師(那四年,她一直都在協助我)看到我以前的成績還不錯,決定要下我,否則,我就往下落的更厲害了。電力專業幾乎沒有電腦課程。等到學
Time of Update: 2017-02-27
早期的 Apache Axis 建立在第一個面向 Web 服務的 Java 標準 JAX-RPC 的基礎之上。事實證明,這並不是一個很好的方法,因為 JAX-RPC 限制了 Axis 代碼的內部設計,而且造成了效能問題並缺乏靈活性。JAX-RPC 還對 Web 服務開發的方向作出了假設,而這在後來被證明是錯誤的。在開始 Axis2 開發工作時,已經著手研究 JAX-RPC 的替代選擇,因此,Axis2 在設計時已經考慮到了足夠的靈活性,使其能夠在基礎架構之上實現對替代 Web
Time of Update: 2017-02-27
預計於今年秋天將最終發布的 Java 平台最新更新意義重大且倍受期待。雖然尚未通過 Java Community Process (JCP) 正式建立 Java 7 平台 Java Specification Request (JSR),並且最終特性集仍然未知,但 Oracle 推出的 Early Access 下載以及 Oracle 團隊的公開聲明為我們理解 Java SE 7 的內容提供了一些協助。預計特性分為以下四類:非 Java 語言支援“易於開發”
Time of Update: 2017-02-27
針對 Java 平台 5.0 版本的 IBM Developer Kit 標誌著顯著的進步,它在語言特性和底層執行技術方面有重大改進。本文是一個分 5 部分的文章系列的第一篇,概述了 IBM 對它的虛擬機器技術所做的一些主要改變和改進,包括傳統的垃圾收集、共用類資料,以及在監視和調試工具及 API 方面的改進。但是,在討論 IBM 實現的改進之前,我們先看看 Java 5.0 本身的改進。Java 5.0 的改進自從引入 Java 2 平台以來,Java 2 Standard
Time of Update: 2017-02-27
WS-Security 以現有的密碼學以及 XML 加密和簽名欄業標準為基礎,為 Web 服務應用程式提供了一組全面的安全特性,您可以通過 WS-Policy 和 WS-SecurityPolicy 來指定特定應用程式可以使用哪些特性,從而允許服務客戶機自行配置以訪問服務。通過跨多個平台和 Web 服務架構對這些標準的廣泛支援,可以實現出色的互通性(並且會不斷改善)。儘管能帶來這麼多好處,但 WS-Security 也存在一些缺點。在本 系列 的前兩篇文章中,您已經知道 WS-Security
Time of Update: 2017-02-27
隨著時間的推移,IBM 為它的 Java 運行時實現開發了許多監視和問題診斷設施。利用這些工具,IBM 支援小組、Java 應用程式開發人員和生產操作人員可以診斷和解決在 Java 開發中遇到的問題。本文討論三種主要的設施,因為它們是在 Java 技術的 IBM 實現的最新版本中實現的:跟蹤引擎、轉儲引擎和 DTFJ 工具 API。它們都有助於 Java
Time of Update: 2017-02-27
可以使用 4 種不同的策略配置 IBM Developer Kit for the Java 5.0 Platform(IBM SDK)中的垃圾收集(GC)。本文(關於 GC 的兩篇文章的第一篇)介紹不同的垃圾收集策略並討論它們的性質。在閱讀本文之前,您應該對 Java 平台中的垃圾收集有基本的認識。第 2 部分將給出一種選擇策略的量化方法,以及一些樣本。為什麼要有不同的 GC 策略?能夠使用不同的策略使開發人員增加了對應用程式的控制能力。有許多種 GC
Time of Update: 2017-02-27
近十幾年來,物件導向語言設計的要素一直是繼承的核心。不支援繼承的語言(如 Visual Basic)被嘲諷是 “玩具語言” ,不適合真正的工作。與此同時,支援繼承的語言所採用的支援方法五花八門,導致了許多爭論。多重繼承是否真的必不可少(就像 C++ 的創作者認定的那樣),它是否不必要而醜陋的(就像 C# 和 Java 的創作者堅信的那樣)?Ruby 和 Scala 是兩種較新的語言,採取了多重繼承的這種方法 — 正如我在上期介紹 Scala
Time of Update: 2017-02-27
在曆史上,Java™ 平台一直屬於物件導向編程的領域,但是現在,甚至 Java 語言的堅定支援者也開始注意應用程式開發中的一種新趨勢:函數編程。在這個新的系列中,Ted Neward 介紹了 Scala,一種針對 JVM 將函數和物件導向技術組合在一起的程式設計語言。在本文中,Ted 將舉例說明您為何應該花時間學習 Scala(例如並發),並介紹如何快速從中受益。您永遠不會忘記您的初戀!對於我來說,她的名字是 Tabinda (Bindi)
Time of Update: 2017-02-27
Java™ 開發人員可以將對象作為理解 Scala 的出發點。本文是面向 Java 開發人員的 Scala 指南 系列 的第二期,作者 Ted Neward 遵循對一種語言進行評價的基本前提:一種語言的威力可以直接通過它整合新功能的能力衡量,在本文中就是指對複數的支援。跟隨本文,您將瞭解在 Scala 中與類的定義和使用有關的一些有趣特性。在上一期 文章 中,您只是稍微瞭解了一些 Scala 文法,這些是運行 Scala 程式和瞭解其簡單特性的最基本要求。通過上一篇文章中的
Time of Update: 2017-02-27
安全性對於使用 Web 服務交換業務資料至關重要。如果資料被第三方截取,或者欺騙性資料被當作有效資料接收,那麼會引起嚴重的財務或法律後果。為 Web 服務(任何形式的資料交換)設計和實現應用程式的安全處理始終是可行的,但是這種方法比較冒險,因為即使是一個小錯誤和疏漏都會導致嚴重的安全性漏洞。與其他更簡單的資料交換相比,SOAP 的優勢之一是它支援模組化擴充。自 SOAP 首次發布以來,安全性一直是擴充的主要關注點,促使了 WS-Security
Time of Update: 2017-02-27
為什麼需要另一種文檔模型?Apache Axis2 1.1 已經發布,它為那些長期運行 Apache Web 服務架構系列的忠實使用者提供了令人興奮的新特性。我們將在後續的文章中討論關於 Axis2 的內容,本文將深入研究 AXIs 物件模型 (AXIOM) XML 文檔模型,這是 Axis2 的核心。AXIOM 是 Axis2 中一個主要的創新,並且是 Axis2 能夠比原來的 Axis 提供更好效能的原因之一。本文將向您介紹 AXIOM 的工作原理、Axis2 的各個部分如何構建於
Time of Update: 2017-02-27
Java 編程中的連網包括了定位和識別資源的能力以及通過 TCP 和 UDP 串連進行通訊的能力。首先,您需要識別具有象 www.ibm.com 這樣名稱的資源,然後開啟到該資源的串連,最後在您自己和串連的另一端之間發送資訊包。由於安全性原因,可能會包括其它任務,但是整個過程是一樣的。對於 Java 平台,會在 java.net 包中找到支援這些操作的類。從 Java 編程的早期到現在,這些操作中大多數都未曾發生太大的變化。但是,隨著 Merlin