博客 / 列表

wx661607c93692e - 容器化應用是否用了 MaxRAMPercentage?

這是一個非常關鍵且常被忽視的問題。在容器化(Docker / Kubernetes)環境中運行 Java 應用時,是否使用 -XX:MaxRAMPercentage(或舊版 -XX:MaxRAMFraction)直接決定了 JVM 能否正確感知容器內存限制。 ✅ 正確做法:必須使用 MaxRAMPercentage 為什麼? JVM 默認按物理

jar , jvm , 後端開發 , JAVA

wx661607c93692e - Java 棧與堆內存詳解

一、JVM 內存模型概覽 Java 虛擬機(JVM)在運行時將內存劃分為多個區域,其中與開發者關係最密切的是: 棧(Stack) 堆(Heap) 方法區(Method Area,含常量池) 程序計數器(PC Register) 本地方法棧(Native Method Stack) 本文聚焦於 棧 和 堆。

Stack , 堆內存 , jvm , 後端開發 , JAVA

wx661607c93692e - Java遞歸詳解:從入門到精通

什麼是遞歸? 在計算機科學中,遞歸(Recursion) 是指一個函數在其定義中調用自身的過程。遞歸是一種強大的編程技巧,特別適用於解決具有“自相似”結構的問題,比如樹的遍歷、階乘計算、斐波那契數列等。 在 Java 中,遞歸函數必須滿足兩個基本條件: 基準條件(Base Case):遞歸必須有一個明確的終止條件,否則會導致無限遞歸,最終引發S

尾遞歸 , 遞歸 , 後端開發 , JAVA

wx661607c93692e - Java 獲取 Json串中的以中文為key的數據

方法一:使用 Jackson(推薦,Spring Boot 默認) import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonChineseKeyExample { public

System , 後端開發 , JAVA , ci , Json

wx661607c93692e - 用 Thumbnailator 三行代碼寫出企業級縮略圖服務

一、為什麼選擇 Thumbnailator? 對比項 自研 AWT 方案 Thumbnailator

縮放 , Test , 後端開發 , JAVA

wx661607c93692e - Java 圖片縮略圖工具類

一、核心需求分析 我們希望工具類支持兩種主流模式: 模式 1:等比縮放(Fit) 在不超過目標寬高的前提下,按原圖比例縮放,空白處留白或透明。 適用:商品圖、文章封面預覽。 模式 2:中心裁剪(Crop) 先等比縮放使圖像覆蓋整個目標區域,再從中心裁剪出指定尺寸。 適用:用户頭像

縮放 , 後端開發 , JAVA , Image

wx661607c93692e - 從 BPMN 到 Flowable

一、什麼是工作流?為什麼需要工作流引擎? Q1:工作流解決了什麼問題?不用引擎直接寫 if-else 不行嗎? 痛點: 審批流程頻繁變更(如:3級審批 → 5級) 流程節點權限複雜(部門經理、HR、財務) 需要歷史軌跡、催辦、轉辦、撤回等能力 人工代碼維護成本高、易出錯 工作流引擎的價值

後端開發 , 發送郵件 , JAVA , 工作流引擎