SAX解析excel与DOM解析excel占用内存对比

使用的excel大小为44M,分别用sax解析与dom解析

一、 SAX解析该excel的内存使用情况如下:

1. 整体情况:

SAX解析excel与DOM解析excel占用内存对比_第1张图片

2. 老年代,只能通过fullGC进行回收。可以看下gc时间

SAX解析excel与DOM解析excel占用内存对比_第2张图片

3. 新生代,可以被youngGC迅速回收掉的

SAX解析excel与DOM解析excel占用内存对比_第3张图片

二、DOM解析excel内存使用情况如下:

使用默认内存直接oom,后改成3G左右内存,执行很短时间就oom,下降的地方就是oom发生

1. 整体情况:内存直接接近3G内存,cpu直接快到100%

SAX解析excel与DOM解析excel占用内存对比_第4张图片

2. 老年代:老年代基本沾满,而且一直被引用,根本无法被回收,可以看下gc次数跟gc时间

SAX解析excel与DOM解析excel占用内存对比_第5张图片

3. 新生代:cell等对象更多导致新生代数据也占用比较大

SAX解析excel与DOM解析excel占用内存对比_第6张图片

具体代码及相关背景知识可查看另一篇:SAX解析excel,避免oom

你可能感兴趣的:(java)