java class的成员变量内存优化
一、让我们看看如下代码:
1.成员变量全部使用Integer/Double等类数据类型
public class DayStatistics1{
Long time;
Double maxValue;
Integer maxValueHour;
Double minValue;
Integer minValueHour;
}
2.成员变量尽可能使用基础数据类型
public class DayStatistics2{
long time;
double maxValue;
int maxValueHour;
double minValue;
int minValueHour;
}
二、当声明如下Map,且Map的size很大时,statistics1Map所占用的内存要远远大于statistics2Map,这有可能会导致Out Of Memory,所以在声明class时,其成员变量要尽可能的使用基础数据类型定义。
Map<Long, DayStatistics1> statistics1Map = new HashMap<>();
Map<Long, DayStatistics2> statistics2Map = new HashMap<>();