JVM中OutOFMemory和StackOverflowError异常代码
生活随笔
收集整理的這篇文章主要介紹了
JVM中OutOFMemory和StackOverflowError异常代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Out of Memory 異常
右鍵Run As --->Run Configuration 設置JVM參數?-Xms20m -Xmx20m
上代碼:
1 /** 2 * VM Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError 3 */ 4 public class HeapOOM { 5 static class OOMObject { 6 } 7 public static void main(String[] args) { 8 List<OOMObject> list = new ArrayList<OOMObject>(); 9 while (true) { 10 list.add(new OOMObject()); 11 } 12 } 13 }設置參數?
運行結果:
在項目的根目錄下生成了一個 Java_pid***的文件
這個文件大小27M....還是挺大的...用文本編輯器之后代開是亂碼....可以使用其他方式打開...
解決OOM異常可以參考如下博文總結:
設置JVM參數的幾種方式解決java.lang.OutOfMemoryError:Java heap space
?2.Stack over Flow異常
1 public class JavaVMStackSOF { 2 private int stackLength = 1; 3 public void stackLeak() { 4 stackLength++; 5 stackLeak(); 6 } 7 public static void main(String[] args) throws Throwable { 8 JavaVMStackSOF oom = new JavaVMStackSOF(); 9 try { 10 oom.stackLeak();//一直入棧不出來...只要代碼沒有特別復雜,stackoverflow的錯誤是不會出現的. 11 } catch (Throwable e) { 12 System.out.println("stack length:" + oom.stackLength); 13 throw e; 14 } 15 } 16 }?
運行結果:
?
本文轉自SummerChill博客園博客,原文鏈接:http://www.cnblogs.com/DreamDrive/p/6681808.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的JVM中OutOFMemory和StackOverflowError异常代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蜡烛的研究
- 下一篇: 拿着锤子找钉子,数字芯片领导者比特大陆进