1.内存限制
无论是SW.adv 还是SW.pro 题目中都有 “存储限制 256MB\512MB”
解题同时,我们需要使用一些估算方法和措施,进行调试
1.1 大概估算
//二维int数组 10005*10005
//估算,1_0000_0000 int * 4 bit /1024*1024 约等于 381.5MB
private static int[][] pool = new int[size][size];
//如果题目限制为256MB 运行后则会出现下面的Exception
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at sw.test.CheckMemory.main(CheckMemory.java:24)
1.2 在IDE中设置VM Option
如下图所示 在IDEA中 Run configuration 设置VM options
在Eclipse 中Run configuration 设置VM options
测试代码
package sw.test;
public class CheckMemory {
private static int size = 1_0005;
//private static int[][] pool = new int[size][size];
/* 如果题目的内存限制在256M,可在Run configuration的 VM Option
添加参数中添加 -Xmx256m
本例中 二维int数组 10005*10005
估算,1_0000_0000 int * 4 bit /1024*1024 约等于 381.5MB
在修改为 -Xmx512m后,不在OutOfMemoryError
*/
public static void main(String[] args) {
//TO-Do
// 测试的代码段