堆与进程、线程
对堆的认识
如何设置堆内存大小
堆内存细分
/**
* -Xms600m -Xmx600m
*/
public class OOMTest {
public static void main(String[] args) {
ArrayList<Picture> list = new ArrayList<>();
while(true){
try {
Thread.sleep(20);
} catch (InterruptedException e) {
e.printStackTrace();
}
list.add(new Picture(new Random().nextInt(1024 * 1024)));
}
}
}
class Picture {
private byte[] pixels;
public Picture(int length) {
this.pixels = new byte[length];
}
}
设置虚拟机参数 -Xms600m -Xmx600m
3.2 配置新老比例
配置新生代与老年代在堆结构的占比(下面这些参数在开发中一般不会调)
新生区中的比例