Java SE 6 中新增的 Java 腳本編程 API 為運行用各種動態語言編寫的外部程序(并與之共享代碼和數據)提供了一種統一的方式。Java 應用程序與 腳本語言 的強大功能和靈活性相結合是非常有意義..
自從這篇文章的第一版在2003 年10 月發表以來,Spring 框架正在逐步普及。經歷了1.0最終版到現在的1.2版,而且被運用于很多行業和項目中。在這篇文章中,我會解釋Spring為什么會獲得成功,并告..
Java 開發人員清楚 Java 并不是在任何情況下都是最佳的語言。今年,1.0 版本的 JRuby 和 Groovy 的發行引領了一場熱潮,促使人們紛紛在自己的 Java 應用程序中添加動態語言。Groovy、JRuby、Rhino、J..
在上一期 文章 中,您只是稍微了解了一些 Scala 語法,這些是運行 Scala 程序和了解其簡單特性的最基本要求。通過上一篇文章中的 Hello World 和 Timer 示例程序,您了解了 Scala 的 Application 類、方..
請允許我借助另一種 開源 Web 開發 框架 —— Ruby on Rails —— 來介紹 Grails。Rails 一發布就迷住了開發人員。Rails 的腳手架功能使您可以用以前所需時間的一小部分完成一個新的項目。支持 Rai..
摘要 編寫 單元測試 代碼是一件很困難的工作。大多數情況下,我們需要測試那些以前沒有編寫過的使用復雜的協作軟件(如 數據庫 ,應用程序 服務器 或軟件模塊)的代碼。我們可能還需要..
在本系列文章中,我使用 Person 類型來演示 db4o 的所有基本原理。您已經學會了如何創建完整的 Person 對象圖,以細粒度方式(使用 db4o 本身的查詢功能來限制返回的實際對象圖)對其進行檢索..
本系列的 第 1 部分 解決了基于 Eclipse 的富客戶機應用程序 性能 問題的幾個方面,包括 CPU、I/O 以及線程問題等。內存泄漏是導致性能問題的另一可能原因。本文闡述如何監視應用程序的內存使..
超越 單元測試 的擴展 關于本系列 在 跨越邊界 系列中,作者 Bruce Tate 提出了這樣一個觀點:如今的 Java 程序員 可以通過學習其他方法和語言得到很好的其他思路。自從 Java 明顯成為所有 開發..
簡介 關系數據訪問的對象化 大多數業務都建立在信息管理系統的基礎上,而這些信息管理系統主要的底層基礎設施又是基于存儲在一個或多個關系 數據庫 中的數據。這些系統由一些軟件程序..
實體關系映射(O/R mapping, ORM)集成 當然你經常需要使用實體關系映射,而不是使用關系型數據訪問。你的整體應用程序框架也必須支持這個。因而Spring繼承了Hibernate(版本2 和3)、JDO(版本1 和2)、..
服務數據對象是一種流動數據 服務數據對象(Service Data Object,SDO)介于強類型POJO和非驗證XML流中間。SDO使用戶應用程序能夠使用可動態創建的數據結構。當數據必須在沒有(或不能)共享相同..
特殊字符轉義 由于 Web 應用程序需要聯合使用到多種語言,每種語言都包含一些特殊的字符,對于動態語言或標簽式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就..
對于許多團隊來說, 單元測試 現在是 開發 過程的一個主要部分;JUnit 之類的框架可以進行無損測試,盡管我們并不喜歡它,寧愿為某些 代碼編寫某些 測試。單元測試運行效率很低,只能測試..
簡介 代碼覆蓋是一種用來 度量 已執行的 軟件測試 水平的方法。收集覆蓋度量數據的過程很簡單:監測您的代碼,并對所監測的版本運行測試。這樣就可以生成相關數據,展示已執行哪些代碼..
本系列的前兩篇文章介紹了 Grails Web 框架的基本構建塊。我曾反復強調過 —Grails 基于模型-視圖-控制器(Model-View-Controller,MVC)架構模式(請參閱 參考資料),Grails 利用約定優于配置 將框架..
Blog(WebLog)在Internet上越來越流行。許多網友都有了自己的Blog,通過Blog展示自己,結識更過的網友。比較著名的Blog平臺是基于ASP.net的 開源 項目.Text。但是它的邏輯全部以存儲過程的形式放在..
在 本文的前半部分 中,我解釋了 Mylyn 的任務管理功能如何輕松地聚焦與給定工作日或工作周相關的任務。一旦任務成為您的 Eclipse 體驗中的集成部分,您很可能會注意到許多重復性行為都是以..
在本系列的前一篇文章中,我開始談到了 db4o 如何處理 結構化對象,或者包含非原始類型字段的對象。正如我所展示的那樣,增加對象關系的復雜性對 db4o 持久模型有一些重大的影響。我談到..
開發人員測試的主要缺點是:絕大部分測試都是在理想的場景中進行的。在這些情況下并不會出現 缺陷 —— 能導致出現問題的往往是那些邊界情況。 什么是邊界情況呢?比方說,把 null 值傳..