Class MemoryBudgetResolver

java.lang.Object
io.leandev.appfuse.cache.core.MemoryBudgetResolver

public final class MemoryBudgetResolver extends Object

記憶體預算解析器

依 ADR-011(supersede ADR-006)推導 CacheManager 的預設 offheap 記憶體預算:

  • offheap:四段 fallback(明示 → -XX:MaxDirectMemorySize × 75% → 確認 cgroup 真有上限的總量反推 → 固定 fallback 值 64MB)

heap 不再 byte 治理(一律筆數計、不納入 byte 預算):純 in-process 的 on-heap byte 封頂須靠 Ehcache sizeof 引擎,而該引擎在 JDK 25 已不可靠。真實 byte 封頂改由 offheap 承擔。

核心精神:封住行程總量、不確定性轉成保守行為——不拿可能是主機總量的數字算大預算。

Since:
4.0
  • Method Details

    • resolve

      public static MemoryBudget resolve(Long explicitOffheapBudgetMB, OnExceed onExceed)
      解析記憶體預算(填入未明示的預設值)
      Parameters:
      explicitOffheapBudgetMB - 使用者明示的 offheap 預算(MB),null 則自動推導
      onExceed - 超額處置策略
      Returns:
      已解析的記憶體預算