您好,登錄后才能下訂單哦!
JVM可以算是初級程序員進階高級程序員必須要掌握的核心技能之一。另外,在許多面試過程中,JVM也是檢驗Java程序員能力水平的試金石。今天我們不談Java底層實現的原理,而是為大家整理匯總了一些常見的JVM 配置參數,希望對大家編寫代碼有所幫助。
1.-Xms
初始堆大小。只要啟動,就占用的堆大小。
2.-Xmx
最大堆大小。java.lang.OutOfMemoryError:Java heap這個錯誤可以通過配置-Xms和-Xmx參數來設置。
3.-Xss
棧大小分配。棧是每個線程私有的區域,通常只有幾百K大小,決定了函數調用的深度,而局部變量、參數都分配到棧上。當出現大量局部變量,遞歸時,會發生棧空間OOM(java.lang.StackOverflowError)之類的錯誤。
4.XXNewSize
設置新生代大小的絕對值。
5.-XX:NewRatio
設置年輕代和年老代的比值。比如設置為3,則新生代:老年代=1:3,新生代占總heap的1/4。
6.-XX:MaxPermSize
設置持久代大小。java.lang.OutOfMemoryError:PermGenspace這個OOM錯誤需要合理調大PermSize和MaxPermSize大小。
7.-XX:SurvivorRatio
年輕代中Eden區與兩個Survivor區的比值。注意,Survivor區有form和to兩個。比如設置為8時,那么eden:form:to=8:1:1。
8.-XX:HeapDumpOnOutOfMemoryError
發生OOM時轉儲堆到文件,這是一個非常好的診斷方法。
9.-XX:HeapDumpPath
導出堆的轉儲文件路徑。
10.-XX:OnOutOfMemoryError
OOM時,執行一個腳本,比如發送郵件報警,重啟程序。后面跟著一個腳本的路徑。
以上就是程序員常用的JVM 配置參數的所有匯總。大家想要深入學習JVM并掌握JVM虛擬機底層原理,可以在億速云平臺進行相關免費視頻課程的在線學習。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。