那個小白還沒搞懂記憶體溢位,只能用案例說給他聽了

hzcya發表於2020-11-17

記憶體溢位,通俗的理解,就是你要求分配的記憶體超出了JVM能給你的,JVM不能滿足需求,於是產生溢位。 為了便於理解,本文我們將使用一個案例來說明記憶體溢位。

首先,還是先看看本文的主要框架:

檢視JVM記憶體情況

1public class PrintGCDetailsDemo {
2 public static void main(String[] args) {
3 //JVM最大堆空間
4 System.out.println("Xmx=" + Runtime.getRuntime().maxMemory() / 1024.0 / 1024 + "M");
5 //JVM堆空閒空間
6 System.out.println("free mem=" + Runtime.getRuntime().freeMemory() / 1024.0 / 1024 + "M");
7 //當前可用的總空間
8 System.out.println("total mem=" + Runtime.getRuntime().totalMemory() / 1024.0 / 1024 + "M");
9 }
10}
執行上面程式碼就會輸出對應JVM堆的記憶體情況。

1Xmx=1796.0M
2free mem=119.08892822265625M
3total mem=123.0M
記憶體溢位程式碼 我們先來看一個demo案例,程式碼如下:

1@RestController
2public class GCController {
3
4 List


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978904/viewspace-2734771/,如需轉載,請註明出處,否則將追究法律責任。

相關文章