JVM中OutOFMemory和StackOverflowError异常代码
生活随笔
收集整理的這篇文章主要介紹了
JVM中OutOFMemory和StackOverflowError异常代码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.Out of Memory 異常
右鍵Run As --->Run Configuration 設(shè)置JVM參數(shù)?-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 }設(shè)置參數(shù)?
運(yùn)行結(jié)果:
在項(xiàng)目的根目錄下生成了一個(gè) Java_pid***的文件
這個(gè)文件大小27M....還是挺大的...用文本編輯器之后代開(kāi)是亂碼....可以使用其他方式打開(kāi)...
解決OOM異常可以參考如下博文總結(jié):
設(shè)置JVM參數(shù)的幾種方式解決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();//一直入棧不出來(lái)...只要代碼沒(méi)有特別復(fù)雜,stackoverflow的錯(cuò)誤是不會(huì)出現(xiàn)的. 11 } catch (Throwable e) { 12 System.out.println("stack length:" + oom.stackLength); 13 throw e; 14 } 15 } 16 }?
運(yùn)行結(jié)果:
?
本文轉(zhuǎn)自SummerChill博客園博客,原文鏈接:http://www.cnblogs.com/DreamDrive/p/6681808.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的JVM中OutOFMemory和StackOverflowError异常代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 蜡烛的研究
- 下一篇: 登录无线路由器界面方法 无线路由器如何登