Java 多線程入門核心知識體系:創建方式、線程池、同步機制與避坑指南
為什麼需要多線程? 模型簡化:將獨立任務 (下載、計算、渲染) 拆分為並行線程,邏輯解耦。 UI 響應:Swing/JavaFX 事件分發線程 (EDT) 不
Java JDBC 連接 Oracle 與 SQL Server 完整指南:驅動、URL、連接池與最佳實踐
前言 JDBC 是 Java 訪問關係數據庫的標準 API。本文詳細講解連接 Oracle 與 SQL Server 的驅動依賴、JDBC URL 格式、連接參
Java IO 文件編碼轉換實戰:自動檢測源編碼並安全轉 UTF-8
前言 文件編碼不一致是亂碼高發區。本文實現一個健壯的 EncodingConverter 工具類:自動檢測源文件編碼 (借助 juniversalchardet
URL 傳遞中文參數亂碼終極解決方案:編碼協議、Tomcat 配置與 Java 代碼三層防線
問題根源 URL 中文亂碼本質是「瀏覽器編碼 → 服務端解碼」不一致導致的字節序列錯誤解讀。涉及三個關鍵環節: 瀏覽器發送:GET 請求 URL 編碼方式取決
Java 基於包結構的請求路由實現:Filter + 反射輕量級 MVC 雛形
前言 在不引入 Spring MVC 等重型框架的前提下,利用 Servlet Filter 攔截請求,結合約定優於配置的包結構映射與反射調用,可快速構建輕量級
Java TCP Socket 程式設計:客戶端/伺服端完整實作範例
前言 Socket 是網路通訊的基礎,Java 提供 java.net.Socket (客戶端) 與 java.net.ServerSocket (伺服端) 實
Java DBCP 資料庫連線池設定完整教學與範例
前言 資料庫連線建立成本高,頻繁開關會嚴重拖慢應用效能。Apache Commons DBCP (Database Connection Pool) 是經典的連
Java 隨機字串產生器:支援多種字元類型與長度自訂
前言 產生隨機字串是常見需求:驗證碼、臨時密碼、唯一代碼、測試資料等。本文提供一個功能完整、易於擴充的 PassWord 工具類,支援 8 種字元組合模式,長度
Java 資料庫存取:DAO 模式與 Proxy 模式完整實作範例
前言 在 Java 企業級開發中,資料存取層(DAO)的設計直接影響系統的可維護性與擴充性。本文展示一個完整的分層架構範例,結合 DAO 介面、實作類別、Pro
Java Swing 入門:建立第一個視窗程式完整範例
前言 Swing 是 Java 內建的 GUI 工具雖然歷史悠久,但仍是學習桌面應用程式開發的絕佳入門選擇。本文將引導你從零建立一個簡單的 Swing 視窗,並
Java JNI 呼叫 C 函數完整實作教學
前言 Java 原生介面(JNI)是連結 Java 與 C/C++ 的橋樑,讓 Java 程式能呼叫原生程式庫,提升效能或處理 Java 難以完成的任務。本文將
Java 實現斷點續傳下載:HttpURLConnection + RandomAccessFile 核心技術詳解
前言 大文件下載斷點續傳是提升用戶體驗的關鍵功能。本文深入講解基於 HTTP/1.1 Range 請求頭與 RandomAccessFile 隨機讀寫的 Jav
Java dom4j 解析 XML 完全指南:DOM、SAX、XPath 三大模式實戰
前言 dom4j 是 Java 經典的 XML 處理庫,靈活支援 DOM 樹模型、SAX 流式解析與 XPath 查詢。本文系統講解三種核心用法,並提供字符串、
Java 合併兩個有序鏈表:遞歸與迭代雙解法詳解
問題描述 給定兩個單調遞增的單鏈表,將它們合併為一個新的有序鏈表並返回頭節點。要求不創建新節點,直接拼接原節點,空間複雜度 O(1)。 數據結構定義 clas
Java 操作 MongoDB 入門:查詢、排序、分頁與 List 轉換實戰
前言 MongoDB 作為主流文檔型數據庫,Java 驅動提供了豐富的 API。本文基於 mongo-java-driver 3.x/4.x,演示連接構建、條件
Java 異或加密算法:原理、實現與安全性邊界全解析
核心原理 異或運算 (^) 滿足 自逆性:A ^ B ^ B = A。即:加密與解密使用完全相同的操作。 明文: 01101001 (105 i) 密鑰:
Java 數組優雅輸出:Arrays.toString 與 deepToString 完全指南
前言 直接打印 Java 數組引用只會輸出類似 [I@15db9742 的內存地址,毫無業務意義。本文對比傳統循環打印與 Arrays.toString/dee
Java Socket 通訊實戰:多線程聊天室服務端與客戶端完整實現
架構設計 Server:ServerSocket 監聽端口 → accept 阻塞等待 → 每連接啟動獨立線程處理 Client:Socket 連接服