Java 实现栈溢出,堆溢出,堆外内存例子
- idea vm参数设置
- 栈溢出(其实就是递归调用没结束)
public static void stackOverFlow(){
stackOverFlow();
}
- 堆溢出
static class TestBean{}
/**
*
* 堆溢出 Java heap space
*/
public static void outOfMemory(){
try {
while (true){
list.add( new TestBean());
}
}catch (Exception e){
System.out.println(e);
}
}
- 运行是常量异常
static List arrayList=new ArrayList();
public static void outOfMemoryPremGen(){
int i=0;
while (true){
list.add(String.valueOf(i++).intern());
}
}
Unsafe 分配堆外内存(java nio就是这样实现)
//Unsafe 分配内存
private static final Unsafe unsafe = Unsafe.getUnsafe();
private final static int size=1024*1024;
public static void getSyseMmory(){
while (true){
unsafe.allocateMemory(size);
}
}
以上是 Java 实现栈溢出,堆溢出,堆外内存例子 的全部内容, 来源链接: utcz.com/z/389753.html