首页 新闻 搜索 专区 学院

Jvm异常问题,求解!

0
悬赏园豆:100 [已关闭问题] 关闭于 2014-04-17 09:24

关于如何编写Java程序使jvm崩溃

如下一个简单的程序:

我将堆内存调了一下,便于它发生异常:-Xms5M -Xmx5M

 1 package jvm;
 2 
 3 public class Crash {
 4     public static void main(String[] args) {
 5         
 6         //Object[] o = {“abc”};初始值赋值,不会有影响。
 7         Object[] o = null;
 8 
 9         while (true) {
10             o = new Object[] { o };
11             //输出的话,jvm会很长时间才崩溃。
12             //System.out.println(o);
13         }        
14     }
15 }

我的问题是,为什么这个这个程序有没有添加这个打印语句,相差那么大呢?

如果没有添加,那么程序马上报异常,而如果添加了,则要过一段时间才会报异常,区别明显。为什么呢?

Chandler Qian的主页 Chandler Qian | 菜鸟二级 | 园豆:204
提问于:2014-04-16 17:40
< >
分享
所有回答(1)
0

因为输出打印属于IO事件,每次输出CPU都会中断,IO是很耗时的,所以感觉上时间会延长。

Chandler Qian | 园豆:204 (菜鸟二级) | 2014-04-17 09:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册