您好,登錄后才能下訂單哦!
總結:在實際工作中,我們可以直接將初始的堆大小與最大堆大小相等,這樣的好處是可以減少程序運行時垃圾回收次數,從而提高效率
使用示例: -Xmx20m -Xms5m
當前堆最大內存 20M,堆初始化內存 5M
使用示例:-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
當前堆最大內存 20M,初始化堆內存 20M,新生代最大可用內存 1M,Eden 區域和 form、to 區域的比例是 2:1:1,打印 GC 日志,使用串行回收
使用實例:-Xms20m -Xmx20m -XX:SurvivorRatio=2 -XX:NewRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
當前堆最大內存 20M,初始化堆內存 20M,Eden 區域和 form、to 區域的比例是 2:1:1,新生代和老年代比例是 1:2,打印 GC 日志,使用串行回收
錯誤原因:java.lang.OutOfMemoryError: Java heap space 堆內存溢出
設置合適的堆大小:-Xms1m -Xmx100m -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
最后的參數表示堆內存溢出出打印快照
錯誤原因:java.lang.StackOverflowError 棧內存溢出
虛擬機棧溢出發生在遞歸調用,循環不會產生虛擬機棧溢出,除非循環里面嵌套遞歸
設置更大的深度,默認深度大概在 10000 左右
-Xss5m 設置最大調用深度
內存溢出:申請空間超出系統能夠提供的空間大小
內存泄露:內存泄露是指程序中間動態分配了內存,但在程序結束時沒有釋放這部分內存,從而造成那部分內存不可用的情況,最終導致內存溢出
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。