怎样写一个程序迅速地让 JVM 崩溃

2018-03-20 10:54:50 +08:00
 huweic
6655 次点击
所在节点    Java
35 条回复
madNeal
2018-03-20 11:03:48 +08:00
疯狂占内存
GuuJiang
2018-03-20 11:04:36 +08:00
JNI,然后 native 代码里访问空指针
notreami
2018-03-20 11:14:17 +08:00
System.exit(1);
非正常推出,不用那么复杂吧?
RubyJack
2018-03-20 11:27:00 +08:00
循环里一直 new
lihongjie0209
2018-03-20 11:29:43 +08:00
递归 了解一下
lihongjie0209
2018-03-20 11:34:26 +08:00
```
public class test {

public static void main(String[] args) {
long sum = sum(1, 100000);

System.out.println(sum);
}


public static long sum(int start, int end) {

System.out.println("sum is called!!");

if (start == end) {
return start;
}else{

return sum(start, end - 1) + end;


}



}
}



sum is called!!
sum is called!!
sum is called!!
Exception in thread "main" java.lang.StackOverflowError
at java.io.PrintStream.write(PrintStream.java:526)
at java.io.PrintStream.print(PrintStream.java:669)
at java.io.PrintStream.println(PrintStream.java:806)
at test.sum(test.java:12)
at test.sum(test.java:18)
at test.sum(test.java:18)


```
stanjia
2018-03-20 11:36:08 +08:00
楼主想哪 JVM 的哪块儿崩溃? 是栈还是堆,还是其它的常量区?
lhx2008
2018-03-20 11:48:24 +08:00
栈溢出 无限递归
堆溢出 塞对象过 jvm 内存 max 值
方法区溢出 动态生成类(有点麻烦)
ho121
2018-03-20 12:28:04 +08:00
1/0
vegito2002
2018-03-20 12:42:15 +08:00
爆栈爆堆这些 exception 不算 crash, 不要混淆这个概念;

这个帖子里有具体的讨论:
https://stackoverflow.com/questions/65200/how-do-you-crash-a-jvm
huweic
2018-03-20 12:53:07 +08:00
@vegito2002 哈哈,我就是看了 stackoverflow 这个问题才发的这个帖子,想跟大家讨论一下
huweic
2018-03-20 12:53:53 +08:00
@stanjia 都可以啊,炸了就行
huweic
2018-03-20 12:57:07 +08:00
@ho121 这个应该只是算异常,JVM 并没有崩溃,catch 一下就能继续跑了
lovelybear
2018-03-20 13:02:07 +08:00
死循环
Len1133
2018-03-20 13:38:31 +08:00
拔插头
qwertty01
2018-03-20 13:56:32 +08:00
如何写个软件让 windows 奔溃?
ovear
2018-03-20 14:00:03 +08:00
jni,然后写点越界。
lastpass
2018-03-20 14:19:02 +08:00
你可以试着通过 JAVA 调用错误的 dll。
JVM 必崩😂😂
为什么我知道?
因为我这里有一个 JAVA 程序就是通过调用 dll 进行授权的。
经常性崩溃。
从头崩到尾。
无论我写啥异常处理办法都没用。
ly529
2018-03-20 15:48:42 +08:00
while(true)
Amayadream
2018-03-20 15:55:48 +08:00
@vegito2002 #10 你这个链接有点赛艇

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439638

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX