Java 理論與實踐:JDK 1.4.1 垃圾收集機制詳解
上月分析了參考計數、複製、標記-清除、標記-整理等經典垃圾收集技術,各有優缺點。例如:大量物件成為垃圾時複製表現好,但長壽物件多時變差(反覆複製);反之標記-整
Java 理論與實踐:Web 層 Session 複寫策略與效能優化
構建 J2EE 或 J2SE 伺服器應用,多半會使用 Java Servlet——直接透過 JSP、Velocity、WebMacro 等表現層,或透過 Axi
Java 理論與實踐:不可變物件的優勢與設計準則
不可變物件指實例化後外部可見狀態無法更改的物件。Java 類庫中 String、Integer、BigDecimal 即為例——代表物件生命週期內不可變更的單一
Java 理論與實踐:並發集合類別提升擴展性
Java 類庫首個關聯集合類 Hashtable(JDK 1.0)提供易用、執行緒安全的 Map 功能,但所有方法皆同步,無競爭同步帶來可觀效能代價。繼任者 H
Java 理論與實踐:並發工具讓基礎設施開發變簡單
當專案需要 XML 解析器、全文檢索引擎、正則表達式編譯器、XSLT 處理器或 PDF 生成器時,我們多數人從不考慮自行開發——成熟的商業或開源實現觸手可用,工
Java 理論與實踐:動態編譯與效能測量的陷阱
身為開發人員,我們總是對程式碼的效能念茲在茲。但當我深入探討效能主題時,經常收到這類郵件:「我的測試程式顯示動態編譯比靜態編譯快,這跟你上一篇文章的觀點完全相反
Java 理論與實踐:構建更好的 HashMap——ConcurrentHashMap 核心原理解析
前言:為什麼需要 ConcurrentHashMap? Hashtable 與 Collections.synchronizedMap 使用單一全局鎖,嚴重限制
Java 理論與實踐:關於異常的爭論——檢查型與非檢查型異常的取捨
前言:異常處理的核心爭議 在 Java 語言中,關於何時使用檢查型異常與非檢查型異常的爭論由來已久。傳統觀點(Sun 官方教程、《Effective Java》
Java 理論與實踐:線程悄悄死掉了怎麼辦?—— 未捕獲異常處理與線程洩漏防範指南
無聲的殺手:多線程環境下的線程死亡 單線程應用主線程拋出未捕獲異常,控制檯打印堆棧、程序停止,極易發現。但多線程服務端應用(無控制檯、長期運行)中,工作線程因
Java 線程狀態轉換圖解:從 NEW 到 TERMINATED 的完整生命週期
理解線程狀態機是寫好併發程式、排查死鎖/活鎖/飢餓的基石。JDK 定義 6 大狀態(Thread.State 枚舉),轉換觸發條件如下: 六大狀態定義 NEW
JDK 1.6 集合框架 UML 圖譜:一張圖看懂 Collection 體系,告別盲目選型
JDK 1.6 集合框架結構清晰,掌握核心介面與實現類的繼承/實現關係,能讓你在業務場景中精準選型,避免濫用 Vector、Hashtable 等舊類。 核心體
SonarQube (Sonar) 單機安裝全記錄:Ubuntu + MySQL + Maven 環境搭建
環境版本 OS:Ubuntu 8.04 JDK:1.5+ Maven:2.2(官方要求 2.0.7+) MySQL:5.0 Sonar:1.9.2(當時最新)
Java 與 C# 時間戳互轉實戰:跨平台 Web Service 的時間一致性方案
問題場景 Java Web Service 以 long 傳遞操作時間(System.currentTimeMillis(),1970-01-01 起毫秒數),
Flash Lite vs J2ME:移動開發雙雄的交集與分野,而非你死我活
背景:兩大陣營的擂台賽 Macromedia 大力推廣 Flash Lite,試圖撼動 J2ME 在移動開發的霸主地位。開發者常陷入盲目對比或「A 終將取代 B
J2ME 真的簡單嗎?入門容易精通難的移動開發實況
兩極評價的根源 關於 J2ME 是否簡單,存在兩種截然不同的聲音,各有其道理。 為什麼說它「簡單」 語言本身簡潔:脫離平台技術,Java 語言比 C++ 更
JDK 1.5 新特性全解析:泛型、增強 for 迴路、自動裝箱/拆箱、枚舉、可變參數、靜態導入
核心主題:簡化開發、提升程式碼清晰度與安全性 JDK 1.5 (代號 Tiger) 引入六大特性,協助開發者撰寫更清晰、精簡、安全的程式碼。 1. 泛型 C+