我们通常在执行Java应用程序时给出-Xmx和-Xms的值,并根据我们的要求增加堆大小(以避免内存不足错误)。
我的问题是我们如何计算内存需求? 让我们举几个例子:
for(int i=0 ; i<1000; i++){
try{
array.add(new ArrayList<Integer>(100000000));
}catch(OutOfMemoryError e){
}
}
首先,此程序使用-Xmx128M运行,然后使用-Xmx256M运行。程序是否会在这两种条件下运行?如果不是那么可能是什么原因,我们可以计算运行该程序所需的内存参数的适当值吗?