使用 Eclipse BPEL 插件開發與執行 WS-BPEL 2.0 業務流程:從安裝到部署完整實戰
WS-BPEL 簡介 WS-BPEL(Web Services Business Process Execution Language)由 OASIS 制定,廠
使用 Eclipse 幫助系統為專案編制文檔:從插件開發到獨立發布全攻略
Eclipse 幫助系統底層啟動內嵌 Apache Tomcat,開啟瀏覽器視窗,左側可摺疊索引(Apache Lucene 搜尋引擎),右側 HTML 文檔。
診斷 Java 代碼:臆想實現錯誤模式(二)——以斷言與單元測試強化介面契約
臆想實現:合法實現但不滿足介面規範未經檢查的層面。例:Stack 介面除型別簽名外,還隱含不變量: push(o) 後緊接 pop() 應回傳 o。 空堆疊
設計可擴展應用程式(二):透明箱擴展性——訪問者模式與可擴展訪問者模式實戰
透明箱擴展性:源代碼可查看不可修改,介於黑箱(不看代碼)與開放箱(直接改代碼)之間,或許是擴展系統最有效、最安全的方法。本文詳述透明箱擴展性兩大維度:資料擴展與
設計可擴展應用程式(三):黑箱擴展性的識別、選擇與語言設計原則
對應透明箱擴展性,黑箱擴展性指:源代碼不可查看/修改時,透過系統配置或專用腳本語言擴展系統。本文討論何時設計黑箱擴展有意義,及有效實現技巧。 如何識別配置腳本
設計可擴展應用程式(四):以 S-Expression 快速構建配置語言實戰
前文指出:若掌握識別配置腳本、選擇允許配置、識別需黑箱擴展環境、衡量擴展複雜度,底層代碼可用性非問題。提供擴展性實際上是在構建一種語言。S-Expression
輕鬆掌握 Java 泛型(一):從向下轉型困境到泛型類型的曙光
J2SE 1.5(代號 Tiger,預計 2003 年底發布)將帶來 Java 程式設計迄今最大進展,最顯著變化是泛型類型(JSR-14 原型編譯器已免費提供下
輕鬆掌握 Java 泛型(二):型別擦除帶來的五大限制深度解析
J2SE 1.5(Tiger)將納入泛型類型(JSR-14 原型已可下載)。第一部分介紹基礎與重要性,本文詳細說明 Tiger/JSR-14 禁止的五大使用限制
輕鬆掌握 Java 泛型(三):裸類型參數 new 操作的多態遞歸難題
本系列探討 Java 泛型類型添加,本文聚焦未討論的限制之一:支援裸類型參數的 new 操作(如 new T())。Tiger/JSR-14 採用型別擦除實現泛
輕鬆掌握 Java 泛型(四):Mixin 與泛型類的完美結合與挑戰
本系列前三篇探討了泛型類型基礎、限制與實現策略、裸類型參數的 new 操作支持。本文作為系列收筆,聚焦Mixin(混入)——可能是泛型類型中最強大的功能——透過
診斷 Java 代碼:走鋼索般的規範平衡術——精確度、成本與可執行文檔的抉擇
構建可靠軟體,程式規範至關重要。沒有良好定義的規範,難以診斷系統異常行為;然而許多系統規範定義糟糕,甚至完全缺失。規範本質是對程式行為的描述,形式可正式化也可鬆
診斷 Java 代碼:懸空複合錯誤模式與空指針異常的根治之道
在 Java 程式設計師遇到的所有異常中,空指針異常 最為恐怖——它提供的資訊最少,不指明預期型別,也不指出空值賦值位置。許多開發者表示絕大多數崩潰源於此,渴望
以 Jiazzi 解耦 Java 套件:基於組件程式設計的測試新範式
在測試優先開發(Test-First Programming)中,開發者常面臨一個棘手問題:當程式高度依賴外部資源與函式庫時,自動化測試似乎難以實施,因為缺乏有
Java 代碼診斷:Mixin、Jam 與單元測試——殺手級組合突破單繼承限制
單繼承的表達力缺口 現實領域對象常需組合多維特徵(如 ScrollPane = Pane + Scrollable + Border)。Java 單繼承迫使:代
Java 代碼診斷:尾遞歸優化——JIT 的隱形紅利與靜態編譯的禁區
尾遞歸:迭代的優雅別名 尾遞歸將循環狀態變量轉為函數參數,代碼清晰且無 break 煩擾。但 Java 無尾調用優化(TCO)保證,深度遞歸必導致 StackO
Java 代碼診斷:靜態類型系統的三大核心價值
靜態類型非免費午餐,但物超所值 靜態類型增加代碼冗長,卻在三個維度提供不可替代的保障: 早期錯誤檢測 → 健壯性:編譯期即捕獲類型錯誤,診斷成本最低,數據損壞
Java 代碼診斷:Depth-First Visitor 模式與 Broken Dispatch 陷阱
Visitor 模式的擴展性困境 標準 Visitor 要求為每個 Concrete Element 實現 forXxx(),當層次結構龐大且多數類處理邏輯相同
Java 代碼診斷:平台相關性「Gotcha」——Write Once, Run Anywhere 的陷阱
跨平台並非零成本 JVM 屏蔽了絕大多數平台差異,但規篞未強制規定、實現存在 Bug、OS 行為差異三大來源,仍會導致「我在這平台跑得好好的,換台機器就崩」的