繼承 vs 介面:Java 設計模式核心抉擇的深度剖析
「面向介面編程」早已成為共識,但許多開發者仍在具體場景下猶豫:該用繼承還是介面?本文從語言機制、設計哲學、演進趨勢、實戰決策矩陣四個維度,徹底講透這對關係。
Java 調用外部程式並獲取返回值:Runtime.exec 與 ProcessBuilder 完整實戰
Java 應用常需調用外部命令(殺毒掃描、圖片處理、視頻轉碼、系統管理指令)並捕獲輸出。本文對比 Runtime.exec 與現代 ProcessBuilder
Java 讀取 Properties 配置文件的 6 種方式與 1 個 Servlet 擴展
Properties 文件是 Java 專案最常見的配置載體。但根據配置文件位置(類路徑、檔案系統、JAR 內部、War 內部)、訪問上下文(普通類、Servl
Java main 方法深度解析:為什麼是 public static void main(String[] args)?
每位 Java 開發者每天都在寫 public static void main(String[] args),但能清晰說明每個關鍵字存在理由的人並不多。本文從
Java/JSP 中文亂碼終極解決方案:從原理到實戰的完整指南
中文亂碼是 Java 開發者繞不開的坑。本質上,亂碼源於 字節流與字符流轉換時編碼不一致。Java 內部使用 UTF-16 (char),而外部資源(資料庫、檔
Java JNI 本地調用完全指南:跨平台動態庫載入、簽名生成與部署避坑
JNI (Java Native Interface) 讓 Java 調用 C/C++ 代碼成為可能,但在跨平台動態庫命名、載入路徑、函數簽名生成等細節上藏著諸
深度解析 Java 執行緒的 6 大狀態與生命週期轉換
掌握執行緒狀態是編寫高併發程式、排查死鎖/飢餓問題的基礎。Java Thread.State 枚舉定義了 6 種狀態,本文結合源碼與實際場景,詳細解析每種狀態的
Java 十六進制與字串互轉工具類:完整實現與原理解析
專案開發中頻繁遇到位元組陣列與十六進制字串互轉需求:網路協定解析、加密演算法輸出、日誌記錄等。本文提供一個生產就緒的工具類,涵蓋四大核心場景,代碼經過實戰驗證,
喚醒沉睡的巨人:更新與激活 Java 遺留系統的 8 大實戰技巧
Java 語言誕生已超 15 年,無數企業級系統穩定運行十年以上。但隨著時間流逝,這些「遺留系統」逐漸成為維護團隊的痛點:技術棧老化、文檔缺失、原始開發者離職、
JDK 7 確定採用 B 計劃:Lambda 與 Jigsaw 延至 JDK 8
JDK 7 開發小組近日確認,官方已批准「B 計劃」:JDK 7 將於 2011 年中發布,但不包含 Lambda 表達式、Jigsaw 模組化系統及部分 Pr
JavaFX Script 走入歷史,Oracle 重寫 JavaFX 採用純 Java API
根據 Adam Bien 在 Twitter 上透露的資訊,JavaFX Script 語言已正式走入歷史。Oracle 將再次重寫 JavaFX 並重新規劃其
深入理解 Java 序列化機制:從 Serializable 到 Externalizable
Java 序列化是將物件狀態轉換為位元組流,以便持久化存儲或網路傳輸的核心機制。本文系統梳理序列化的基本概念、核心接口、關鍵特性、適用場景,並對比 Serial
Java 日期時間處理工具類:獲取常用時間區間的完整實現
在業務開發中,頻繁需要計算「本週一」、「上月最後一天」、「季度首尾日」等時間區間。下文提供一個基於 Calendar 與 SimpleDateFormat 的完
Eclipse 生成 Javadoc 亂碼問題的快速解決方案
在使用 Eclipse 專案生成 Javadoc 文檔時,若原始碼檔案採用 UTF-8 編碼,輸出的文檔常會出現亂碼。這是因為 Javadoc 工具預設使用系統
Java 內存管理九大反模式與優化實戰:告別低效編碼陋習
前言:為什麼 Java 系統「佔內存」? 理論上 Java 不比其他語言更費內存,但大量「陋習」代碼導致對象暴增、GC 壓力大、堆水位高。本文梳理 9 個常見陷
Java 內存溢出(OOM)兩大核心類型深度解析與調優實戰
JVM 內存區域劃分 JVM 管理兩大類內存: 堆:存放對象實例,開發者主戰場,GC 主要作用區域。 非堆:方法區、永久代/元空間,存放類元數據、常量、靜態變
Java ME 應用安裝編號管理技巧:解決編號斷層與查找難題
現象:安裝編號不斷增大、中間斷層 在 Java ME(功能機時代)應用安裝中,系統為每個 MIDlet 分配唯一編號(如 MIDlet20005、MIDlet2
Java 基礎:深度解析引用類型與原始類型的區別
兩大類型體系 Java 提供兩種根本不同的類型: 原始類型:boolean, byte, char, short, int, long, float, dou