JVM堆内存OOM后其他线程是否还可以正常运行
2020-12-13 06:30
标签:曲线 new mic com ace ack 线程二 col catch 可以的,当一个线程出现OOM后,他占用内存资源会立马释放掉 。我们仔细观察一下在14:42:05~14:42:25之间曲线变化,你会发现使用堆的数量,突然间急剧下滑!这代表这一点,当一个线程抛出OOM异常后,它所占据的内存资源会全部被释放掉,从而不会影响其他线程的运行! JVM堆内存OOM后其他线程是否还可以正常运行 标签:曲线 new mic com ace ack 线程二 col catch 原文地址:https://www.cnblogs.com/enhance/p/11099230.htmlpublic class JvmThread {
public static void main(String[] args) {
new Thread(() -> {
Listbyte[]> list = new ArrayListbyte[]>();
while (true) {
System.out.println(new Date().toString() + Thread.currentThread() + "==");
byte[] b = new byte[1024 * 1024 * 1];
list.add(b);
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
// 线程二
new Thread(() -> {
while (true) {
System.out.println(new Date().toString() + Thread.currentThread() + "==");
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}