什么情况造成溢出,溢出会如何呢?直接上代码,分别展示以下几种
1:永久代内存溢出
public static void main(String[] args) {
List<String> strLst=new ArrayList<String>();
Long i=0l;
while (true){
strLst.add(UUID.randomUUID().toString());
System.out.println(i++);
}
}
2 本地方法栈溢出
public static void main(String[] args) {
int j = 0;
while(true) {
System.out.println(j++);
ExecutorService executors = Executors.newFixedThreadPool(50);
int i = 0;
while (i++ < 10) {
executors.submit(new Runnable() {
public void run() {
}
});
}
}
3: 内存泄漏,系统挂掉
public static void main(String[] args) { while (true) { Thread thread = new Thread(new Runnable() { public void run() { while(true){ } } }); thread.start(); } }
系统直接死机。