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

2018-03-20 10:54:50 +08:00
 huweic
6489 次点击
所在节点    Java
35 条回复
huweic
2018-03-20 16:25:49 +08:00
@qwertty01 😂😂 求教
wweir
2018-03-20 17:54:15 +08:00
给自己的 pid 发个 kill 信号,算么?
Zz0Zz
2018-03-20 18:01:04 +08:00
写个死循环,每次放 1million 大对象,立马把你的 jvm 干爆
zengmingyang96
2018-03-20 18:10:28 +08:00
@lihongjie0209 这个 error 是可以捕获的
lihongjie0209
2018-03-20 18:12:47 +08:00
@zengmingyang96 #24 捕获 error 干嘛
zengmingyang96
2018-03-20 18:15:30 +08:00
@lihongjie0209
如果 try catch 了,JVM 不会崩溃啊。。。
stanjia
2018-03-20 19:32:28 +08:00
这里关键是要 通过 -Xss256m -Xms512m -Xmx800m -XX:MaxPermSize=512m 等,把虚拟机内存设置成 1MB 或者更小,不然,默认设置的情况下,你想让 java 不管哪块儿爆掉 还是有点难
fork
2018-03-20 19:38:04 +08:00
kill -4 java_process_pid
applehater
2018-03-20 20:28:39 +08:00
JNA 随便写一下就会错了。
zk123
2018-03-20 21:03:57 +08:00
for(int i=0; i < 3 ; i ++){
System.out.println("我是帅哥");
}
opengps
2018-03-21 08:42:56 +08:00
这是要埋个雷,作为后期付费改善功能?
owenliang
2018-03-21 10:15:14 +08:00
递归导致栈溢出最快。
fancyhan
2018-03-21 10:19:30 +08:00
@stanjia 阁下是高手
springGun
2018-03-21 10:38:12 +08:00
实战 java 虚拟机 上全是案例 ,所有你想 OOM 的 JVM 区域都有
Fri
2018-04-05 21:14:00 +08:00
int[] arr = new int[999999999^999999999];

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

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

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

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

© 2021 V2EX