1. 程式人生 > >深入理解Java堆外記憶體

深入理解Java堆外記憶體


    關於堆記憶體(Heap),相信作為 Java 開發者的你已經早有耳聞,但是,你瞭解堆外記憶體(Off Heap)嗎?

  堆記憶體完全由 JVM 負責分配和釋放,如果程式存在缺陷,有可能導致記憶體洩漏而溢位,丟擲 OOM 異常: java.lang.OutOfMemoryError。

    除了堆記憶體,Java 還可以使用堆外記憶體,也稱直接記憶體(Direct Memory)。顧名思義,堆外記憶體是在 JVM Heap 之外分配的記憶體塊,並不是 JVM 規範中定義的記憶體區域。

    堆外記憶體可直接分配和釋放,減少 GC 暫停時間,提高效率;可擴充套件,支援程序間共享,節省堆記憶體到堆外記憶體的拷貝等特點。如果程式存在缺陷,同樣有可能導致堆外記憶體洩漏而溢位:OutOfDirectMemoryError。

    作為 Java 開發者,堆外記憶體不應該成為你的盲點,本場 Chat 值得一看。

本場 Chat 您將學到以下內容:

  1. 什麼是堆外記憶體?
  2. 堆外記憶體額度控制
  3. 堆外記憶體建立過程原理解讀
  4. JVM GC 機制回收堆外記憶體原理。
  5. 堆外記憶體主動回收原理。