分别用集合和数组装一百万个引用对象 在服务器启动时加载 通过对比进程看内存的实际用量
结果如下 ↓↓↓
无
27746 root 20 0 9389m 130m 11m S 0.3 0.8 0:05.15 java28039 root 20 0 8089m 123m 11m S 2.0 0.8 0:03.64 java
28296 root 20 0 8024m 122m 11m S 0.0 0.8 0:03.76 java
局部变量 用数组
29411 root 20 0 8024m 188m 11m S 0.7 1.2 0:04.25 java
29711 root 20 0 8024m 186m 11m S 2.0 1.2 0:04.42 java
30004 root 20 0 8024m 186m 11m S 0.0 1.2 0:04.50 java
局部变量 用MAP集合
30283 root 20 0 8089m 187m 11m S 0.7 1.2 0:04.78 java
30538 root 20 0 8024m 188m 11m S 0.0 1.2 0:04.43 java
31069 root 20 0 8089m 186m 11m S 0.0 1.2 0:04.53 java
全局变量 用数组
32635 root 20 0 8089m 193m 11m S 0.0 1.2 0:04.77 java
421 root 20 0 8089m 195m 11m S 0.7 1.2 0:04.57 java
712 root 20 0 8024m 191m 11m S 0.0 1.2 0:04.50 java
967 root 20 0 8024m 192m 11m S 0.0 1.2 0:04.77 java
1259 root 20 0 8089m 197m 11m S 0.0 1.2 0:04.87 java
全局变量 用MAP集合
31448 root 20 0 8089m 273m 11m S 0.7 1.7 0:21.89 java
31702 root 20 0 8024m 271m 11m S 0.3 1.7 0:21.83 java
32293 root 20 0 8024m 189m 11m S 0.7 1.2 0:04.78 java
1557 root 20 0 8024m 188m 11m S 2.0 1.2 0:04.67 java
1818 root 20 0 8089m 188m 11m S 0.0 1.2 0:04.81 java
2093 root 20 0 8089m 189m 11m S 0.3 1.2 0:04.85 java
2349 root 20 0 8089m 188m 11m S 0.3 1.2 0:04.68 java
2627 root 20 0 7959m 188m 11m S 0.3 1.2 0:04.61 java
全局变量 MAP集合+数组
2925 root 20 0 8024m 195m 11m S 0.3 1.2 0:04.47 java
3180 root 20 0 7959m 192m 11m S 1.0 1.2 0:04.75 java
3436 root 20 0 8024m 188m 11m S 0.0 1.2 0:04.66 java