1
madNeal 2018-03-20 11:03:48 +08:00 via Android
疯狂占内存
|
2
GuuJiang 2018-03-20 11:04:36 +08:00 via iPhone
JNI,然后 native 代码里访问空指针
|
3
notreami 2018-03-20 11:14:17 +08:00
System.exit(1);
非正常推出,不用那么复杂吧? |
4
RubyJack 2018-03-20 11:27:00 +08:00
循环里一直 new
|
5
lihongjie0209 2018-03-20 11:29:43 +08:00
递归 了解一下
|
6
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) ``` |
7
stanjia 2018-03-20 11:36:08 +08:00
楼主想哪 JVM 的哪块儿崩溃? 是栈还是堆,还是其它的常量区?
|
8
lhx2008 2018-03-20 11:48:24 +08:00 via Android 4
栈溢出 无限递归
堆溢出 塞对象过 jvm 内存 max 值 方法区溢出 动态生成类(有点麻烦) |
9
ho121 2018-03-20 12:28:04 +08:00 via Android
1/0
|
10
vegito2002 2018-03-20 12:42:15 +08:00 via iPad 2
爆栈爆堆这些 exception 不算 crash, 不要混淆这个概念;
这个帖子里有具体的讨论: https://stackoverflow.com/questions/65200/how-do-you-crash-a-jvm |
11
huweic OP @vegito2002 哈哈,我就是看了 stackoverflow 这个问题才发的这个帖子,想跟大家讨论一下
|
14
lovelybear 2018-03-20 13:02:07 +08:00 via Android
死循环
|
15
Len1133 2018-03-20 13:38:31 +08:00
拔插头
|
16
qwertty01 2018-03-20 13:56:32 +08:00
如何写个软件让 windows 奔溃?
|
17
ovear 2018-03-20 14:00:03 +08:00
jni,然后写点越界。
|
18
lastpass 2018-03-20 14:19:02 +08:00 via Android
你可以试着通过 JAVA 调用错误的 dll。
JVM 必崩😂😂 为什么我知道? 因为我这里有一个 JAVA 程序就是通过调用 dll 进行授权的。 经常性崩溃。 从头崩到尾。 无论我写啥异常处理办法都没用。 |
19
ly529 2018-03-20 15:48:42 +08:00
while(true)
|
20
Amayadream 2018-03-20 15:55:48 +08:00
@vegito2002 #10 你这个链接有点赛艇
|
22
wweir 2018-03-20 17:54:15 +08:00 via Android
给自己的 pid 发个 kill 信号,算么?
|
23
Zz0Zz 2018-03-20 18:01:04 +08:00
写个死循环,每次放 1million 大对象,立马把你的 jvm 干爆
|
24
zengmingyang96 2018-03-20 18:10:28 +08:00 via Android
@lihongjie0209 这个 error 是可以捕获的
|
25
lihongjie0209 2018-03-20 18:12:47 +08:00
@zengmingyang96 #24 捕获 error 干嘛
|
26
zengmingyang96 2018-03-20 18:15:30 +08:00
@lihongjie0209
如果 try catch 了,JVM 不会崩溃啊。。。 |
27
stanjia 2018-03-20 19:32:28 +08:00
这里关键是要 通过 -Xss256m -Xms512m -Xmx800m -XX:MaxPermSize=512m 等,把虚拟机内存设置成 1MB 或者更小,不然,默认设置的情况下,你想让 java 不管哪块儿爆掉 还是有点难
|
28
fork 2018-03-20 19:38:04 +08:00
kill -4 java_process_pid
|
29
applehater 2018-03-20 20:28:39 +08:00 via iPhone
JNA 随便写一下就会错了。
|
30
zk123 2018-03-20 21:03:57 +08:00 via Android
for(int i=0; i < 3 ; i ++){
System.out.println("我是帅哥"); } |
31
opengps 2018-03-21 08:42:56 +08:00
这是要埋个雷,作为后期付费改善功能?
|
32
owenliang 2018-03-21 10:15:14 +08:00 via Android
递归导致栈溢出最快。
|
34
springGun 2018-03-21 10:38:12 +08:00
实战 java 虚拟机 上全是案例 ,所有你想 OOM 的 JVM 区域都有
|
35
Fri 2018-04-05 21:14:00 +08:00
int[] arr = new int[999999999^999999999];
|