ronchang.hashnode.dev從 Martin Kleppmann 的批判到 Redisson 實戰:徹底搞懂分散式鎖與「時間」的陷阱導言:你也許並不擁有「現在」 在面試中,當被問到「如何實現分散式鎖?」時,90% 的候選人會自信地回答:「用 Redis 的 SETNX 或者 Redisson。」 但如果面試官追問:「如果你的 JVM 發生了 Full GC,導致鎖過期了,但你的程式還在執行,會發生什麼?」這時候,才是區分「碼農」與「工程師」的關鍵時刻。 今天,我不只是教你怎麼用 API,而是要帶你穿越 Martin Kleppmann 與 Redis 作者 Antirez 的那場世紀論戰,從哲學的高度看工程的實踐,手把手帶你...Jan 9·4 min read
ronchang.hashnode.devG1垃圾回收器深度解析:從底層原理到zgc的演進之路引言:G1 GC 的時代意義 在 Java 記憶體管理的演進歷程中,G1 (Garbage-First) 垃圾回收器的出現無疑是一個重要的里程碑。它專為應對現代應用程式中常見的大堆積(Large Heap)記憶體與多核心處理器的場景而設計,其核心目標是在延遲(Latency)與吞吐量(Throughput)這兩個經常相互衝突的效能指標之間,取得一個卓越的平衡點。自 JDK 9 起,G1 已成為預設的垃圾回收器,足見其在通用場景下的高效與穩定性。 本文將作為一份深度解析報告,從 G1 的底層運作原...Jan 5·2 min read
ronchang.hashnode.devZgc:深入解析底層運作原理1.0 ZGC 簡介:為低延遲而生的垃圾收集器 ZGC (Z Garbage Collector) 是 Java 生態系統中相對較新的垃圾收集器,其設計初衷是為了解決現代應用程式對超低延遲(ultra-low latency)和高可擴展性(high scalability)的嚴苛要求。傳統的垃圾收集器帶來了一個痛苦的權衡:隨著堆積大小的增長,不可預測的「Stop-The-World」(STW) 暫停時間也隨之增加——這對於現代延遲敏感型服務是不可接受的特性。ZGC 的誕生,正是為了從根本上打破這...Jan 5·2 min read
ronchang.hashnode.devJava 垃圾回收器演進深度解析:從 Parallel GC 到 ZGC引言:Java 記憶體管理的演進之路 在 Java 虛擬機(JVM)內部,垃圾回收(Garbage Collection, GC)並非僅僅一項功能,而是驅動引擎心跳的核心機制,它決定了應用程式吞吐量(Throughput)與互動延遲(Latency)之間最根本的權衡。前者關乎單位時間內的總工作量,後者則聚焦於單次操作的回應速度。Java GC 的演進史,正是一部為應對不斷變革的硬體能力(從單核到眾核,從 GB 到 TB 級記憶體)與應用程式需求(從離線批次處理到超低延遲的即時服務)而持續創新的技...Jan 5·2 min read
ronchang.hashnode.dev深度解析:jvm 性能優化指南1.0 性能優化的哲學與診斷方法論 在深入探討具體的代碼或 JVM 層級的優化技術之前,我們必須先建立一套嚴謹、可重複的診斷方法論。這是性能工程的基石。現代 Java 的性能表現,是其程式碼、JVM 行為與底層硬體(多核心 CPU、深層記憶體階層)交互作用的複雜結果。盲目地修改代碼或調整參數不僅徒勞無功,甚至可能引入新的問題。因此,策略性地確認性能指標、精準定位瓶頸,並基於經驗證據做出決策,是專業架構師與初學者之間最顯著的區別。本章節將闡述如何建立這樣一套方法論,確保每一次優化都有的放矢。 1....Jan 5·3 min read