问题描述
最近在学习JVM。读到了outofmemory这一块。在虚拟机栈内存中,很容易可以通过递归,使程序报StackOverFlowError。但是,怎样的代码可以在虚拟机栈内存出现OutOfMemory内存呢。似乎都是stackoverflow~
解决方案
解决方案二:
这还不简单么,不断申请内存,不要释放...List<Object>objects=newArrayList<Object>();while(true){objects.add(newint[100000]);}
解决方案三:
引用1楼dollyn的回复:
这还不简单么,不断申请内存,不要释放...List<Object>objects=newArrayList<Object>();while(true){objects.add(newint[100000]);}
这是堆内存溢出,我说的是栈内存
解决方案四:
一般说来,讲到“内存”就是堆,一般没有栈内存这种说法如果非要说的话,StackOverFlow就是所谓的栈内存溢出了http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html
解决方案五:
引用楼主bobiy45785的回复:
最近在学习JVM。读到了outofmemory这一块。在虚拟机栈内存中,很容易可以通过递归,使程序报StackOverFlowError。但是,怎样的代码可以在虚拟机栈内存出现OutOfMemory内存呢。似乎都是stackoverflow~
OutOfMemory指的就是堆溢出了,用new不停申请内存就可能会发生
时间: 2024-09-29 11:31:37