Java String.substring 用法全攻略:截取、刪除、邊界處理
兩個重載方法簽名 String substring(int beginIndex) // 從 beginIndex 截取到末尾 String
快速排序 核心分區邏輯與 Java 手寫實現詳解
算法思想:分治 + 原地分區 選取基準值,將數組分為「≤基準」與「≥基準」兩區; 遞歸處理兩區,合併即有序; 原地操作,空間 O(log n) 遞歸棧,無額外
Java 代理模式深度解析:靜態代理 vs 動態代理 (JDK Proxy)
代理模式三大角色 抽象角色:定義業務接口(Interface); 真實角色:實現具體業務邏輯; 代理角色:持有真實角色引用,增強預處理/後處理(日誌、事務、權
Java MD5 工具類:字符串/字節數組雙重載、十六進制輸出
核心代碼 import java.security.MessageDigest; import java.security.NoSuchAlgorithmExc
Java 獲取當前方法名與類名的兩種標準姿勢
場景:日誌埋點、AOP 切面、異常鏈路追蹤 C/C++ 有 __func__,Java 無關鍵字,需通過運行時棧獲取。 方式一:Thread.currentT
堆排序 核心原理與 Java 手寫實現全解析
堆的定義與性質 完全二叉樹:除最後一層外每層滿,最後一層靠左排列; 數組存儲:索引 0 為根,左子節點 2i+1,右子節點 2i+2,父節點 (i-1)/2;
漢諾塔遞歸算法 Java 實現與思維圖解
問題描述 三根柱子 A、B、C。A 上有 N 個盤子(大在下、小在上)。目標:將所有盤子移至 C,規則:1. 每次只能移動一個盤子;2. 大盤子不能壓在小盤子上
Android Notification when 時間戳跳動問題根因與修復
現象:通知欄條目頻繁閃爍、上下跳動 開發中發現:屬於本 App 的通知在通知欄中不斷「一閃一閃」、位置上下抖動,用戶體驗極差。 根因定位 代碼中設置: not
JavaMail 發送郵件完整實戰:文本/HTML/附件/SSL 全覆蓋
架構設計:三層解耦 MailSenderInfo:郵件元數據載體(主機、認證、收發件人、主題、正文、附件); SimpleMailSender:發送引擎,封裝
Java 早期綁定與晚期綁定深度解析:靜態 vs 動態分派
概念釐清 綁定類型別名決策時機典型成員 早期綁定靜態綁定 / 編譯期綁定編譯期static 方法、final 方法、private 方法、所有字段 晚期綁定動
Java 異或運算巧妙實現變量交換與簡易加密
核心原理:XOR 的自逆性 a ^ b ^ b = a —— 同一數值異或兩次還原自身。利用這一性質,無需臨時變量即可交換兩數,也能構建極簡加密。 變量交換完
dom4j 讀取 JAR 包內嵌 XML 資源的正確姿勢
問題背景 專案打包成 JAR 後,new File(src/user.xml) 失效——JAR 不是目錄,無法用文件路徑定位內部資源。錯誤代碼如下: Docum
Java 協變返回類型深度解析與實戰示例
什麼是協變返回類型? Java 5.0 引入協變返回類型,允許子類重寫父類方法時,返回類型可以是父類方法返回類型的子類型。這打破了早期「返回類型必須完全一致」的
Spring JdbcTemplate 通用基礎 DAO 封裝實戰
設計目標 在 Spring 專案中,重複編寫 CRUD 樣板代碼既枯燥又易出錯。本文展示如何封裝一個基於 JdbcTemplate 的泛型基礎 DAO,實現「寫
Android WebView 中獲取 Apple Touch Icon 的最佳實踐
前言:為什麼需要 Touch Icon? 在 iOS 設備普及的今天,用戶習慣將常用網頁「添加到主屏幕」。Apple 為此定義了 apple-touch-ico
Java 觀察者模式演進全景:從簡單回調到 Guava EventBus 架構設計
模式本質 觀察者模式定義對象間一對多依賴,當一個對象(Subject/Observable)狀態改變,所有依賴它的對象(Observer)自動收到通知並更新。核
Java 通用 JSON 遞歸解析器:任意層級結構自動轉 Map/List/String
設計目標 針對結構不固定、層級任意的 JSON 字符串,無需定義 POJO,自動遞歸解析為 Java 集合結構: JSON Object → Map<S