Java 連接 HDFS HA 與提交 MapReduce Job 完整範例
場景 生產環境 Hadoop 採用 **NameNode HA (High Availability)** 架構,Java 客戶端需正確配置 `dfs.ha.n
Velocity 分頁宏完整實作:Bootstrap 風格、動態頁碼、邊界處理
Velocity 分頁宏 適用於 Java Web 專案 (Spring MVC、Struts2 等) 整合 Velocity 模板引擎,產生 Bootstra
Java 字串壓縮加密實戰:GZIP + DES 組合範例
需求背景 傳輸敏感 JSON/文字資料時,常需**壓縮減小體積** + **加密保護機密**。本文示範 GZIP 壓縮 + DES 對稱加密 的經典組合,並提供
Java 判斷迴文數:數學反轉法與字串法完整比較
什麼是迴文數 正著讀與反著讀都一樣的整數。例如:121、123321、0、11。負數通常不視為迴文 (負號位置固定)。 方法一:數學反轉法 (不轉字串、O(1
JDK 8 新日期時間 API (java.time) 實戰範例大全
核心類別速覽 類別用途特點 LocalDate日期 (年月日)無時區、不可變 LocalTime時間 (時分秒)無時區、不可變 LocalDateTime日期
Java 8 十大新特性深度解析:Lambda、Stream、Optional、新日期 API 等
前言 Java 8 (2014/03 釋出) 是 Java 歷史上**變革最大**的版本,引入函數式程式設計、Stream 流式處理、新日期時間 API、預設方
Debian 7/8 安裝 Oracle Java 8 完整指令教學
背景 Debian 7 (Wheezy) 與 8 (Jessie) 官方倉庫預設僅提供 OpenJDK。若專案需 Oracle JDK 8 (含 JavaFX、
Java 手寫棧:陣列實作、動態擴容與泛型支援
棧 (Stack) 資料結構 後進先出 (LIFO)。核心操作: push(E) — 入棧 O(1) 攤還 pop() — 出棧 O(1) peek() —
Java 記憶體分配進階:陣列限制、Unsafe 離堆與巨大記憶體實戰
Java 記憶體分配三大門檻 陣列長度上限:Integer.MAX_VALUE (2^31-1),byte[] 最大 2 GB,long[] 最大 16 GB
Java HttpURLConnection 發送 GET/POST 請求工具類
輕量級 HTTP 客戶端 不想引入第三方 Jar 時,JDK 內建 HttpURLConnection 完全足夠應付日常 GET/POST 需求。本文封裝一個線
Java 手寫單向鏈表:從節點設計到完整 CRUD
鏈表 vs 陣列 特性陣列/ArrayList單向鏈表 記憶體連續離散 (節點指向下一個) 隨機存取O(1)O(n) 頭部插入/刪除O(n) 搬移O(1) 中
Java 分布式唯一 ID 生成:時間戳 + 原子計數器實作
需求背景 資料庫主鍵不能依賴自增 ID (分庫分表衝突、洩露業務量、單點寫入瓶頸)。常見方案:UUID (無序、長)、Snowflake (需機器號、時鐘回撥風
Android/Java 文件讀寫實戰:SharedPreferences 替代方案
場景 輕量級資料持久化 (帳號、Token、設定) 不想用 SharedPreferences 或 SQLite 時,直接讀寫內部儲存檔案是不二之選。Conte
Java 手寫 ArrayList:順序表 (Sequence List) 完整實作
資料結構基礎:順序表 順序表 (Sequence List) 以**連續記憶體空間** (陣列) 儲存元素,邏輯順序與物理順序一致。特點: ✅ 隨機存取 O(
Java 發送 HTTP 請求兩大方式:HttpClient 與 HttpURLConnection
前言 Java 原生提供 HttpURLConnection,輕量零依賴;Apache HttpClient 功能豐富、API 友善。兩者皆可發送 GET/PO
Java 控制台帳號密碼驗證:三次失敗鎖定實作
需求分析 預設帳號:zhang / 密碼:123 使用者輸入帳號密碼,比對成功顯示「登入成功」 比對失敗顯示剩餘嘗試次數,累計 3 次失敗鎖定帳號並結束程式
JDBC 核心操作完整範例:連線、查詢、交易與連線池
JDBC 快速入門四步驟 載入驅動:Class.forName(com.mysql.cj.jdbc.Driver) (JDBC 4.0+ 可省略) 建立連線:
Java 使用 XPath 解析 XML 完整指南
前言 XPath (XML Path Language) 是在 XML 文件中查找資訊的語言,Java 標準庫 javax.xml.xpath 提供了完整的 X