java导出excel组件alibaba easyexcel和apache poi性能对比
java导出excel组件alibaba easyexcel和apache poi性能对比
- 背景:
开发中出现web页面导出记录到excel导致服务oom奔溃,代码中使用apache poi组件导出,准备使用alibaba easyexcel组件进行优化,所以进行性能测试比较 - 参数如下:
其他参数:导出excel是xlsx文本,20列,单个数据长度10英文字符或数字
组件 | alibaba easyexcel | apache poi |
---|---|---|
jvm参数 | -Xms500M -Xmx500M -XX:+PrintGCDetails | -Xms500M -Xmx500M -XX:+PrintGCDetails |
插入数据 | 10W | 10W |
执行时间 | 22100 | 109912 |
执行结果 | 成功导出 | jvm OOM |
- alibaba easyexcel执行jvm打印
HeapPSYoungGen total 142336K, used 65723K [0x00000000f5980000, 0x0000000100000000, 0x0000000100000000)eden space 114176K, 56% used [0x00000000f5980000,0x00000000f98a6de8,0x00000000fc900000)from space 28160K, 3% used [0x00000000fc900000,0x00000000fca08000,0x00000000fe480000)to space 28160K, 0% used [0x00000000fe480000,0x00000000fe480000,0x0000000100000000)ParOldGen total 341504K, used 17083K [0x00000000e0c00000, 0x00000000f5980000, 0x00000000f5980000)object space 341504K, 5% used [0x00000000e0c00000,0x00000000e1caee98,0x00000000f5980000)Metaspace used 17673K, capacity 17908K, committed 18048K, reserved 1064960Kclass space used 2073K, capacity 2148K, committed 2176K, reserved 1048576K
- apache poi 执行jvm打印
HeapPSYoungGen total 157696K, used 145408K [0x00000000f5980000, 0x0000000100000000, 0x0000000100000000)eden space 145408K, 100% used [0x00000000f5980000,0x00000000fe780000,0x00000000fe780000)from space 12288K, 0% used [0x00000000fe780000,0x00000000fe780000,0x00000000ff380000)to space 12288K, 0% used [0x00000000ff400000,0x00000000ff400000,0x0000000100000000)ParOldGen total 341504K, used 341325K [0x00000000e0c00000, 0x00000000f5980000, 0x00000000f5980000)object space 341504K, 99% used [0x00000000e0c00000,0x00000000f59536b8,0x00000000f5980000)Metaspace used 11751K, capacity 11862K, committed 12160K, reserved 1060864Kclass space used 1317K, capacity 1367K, committed 1408K, reserved 1048576K
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceededat org.apache.xmlbeans.impl.store.Saver$TextSaver.resize(Saver.java:1700)at org.apache.xmlbeans.impl.store.Saver$TextSaver.preEmit(Saver.java:1303)at org.apache.xmlbeans.impl.store.Saver$TextSaver.emit(Saver.java:1190)at org.apache.xmlbeans.impl.store.Saver$TextSaver.emitElement(Saver.java:962)at org.apache.xmlbeans.impl.store.Saver.processElement(Saver.java:476)at org.apache.xmlbeans.impl.store.Saver.process(Saver.java:307)at org.apache.xmlbeans.impl.store.Saver$TextSaver.saveToString(Saver.java:1864)at org.apache.xmlbeans.impl.store.Cursor._xmlText(Cursor.java:546)at org.apache.xmlbeans.impl.store.Cursor.xmlText(Cursor.java:2436)at org.apache.xmlbeans.impl.values.XmlObjectBase.xmlText(XmlObjectBase.java:1500)at org.apache.poi.xssf.model.SharedStringsTable.getKey(SharedStringsTable.java:135)at org.apache.poi.xssf.model.SharedStringsTable.addEntry(SharedStringsTable.java:181)at org.apache.poi.xssf.usermodel.XSSFCell.setCellValue(XSSFCell.java:453)at org.apache.poi.xssf.usermodel.XSSFCell.setCellValue(XSSFCell.java:417)at algorithm.cache.excel.poi.ExcelExportUtil.export(ExcelExportUtil.java:117)at algorithm.cache.excel.poi.ExcelExportUtil.main(ExcelExportUtil.java:226)
- 结论:
开发web后台导出记录10W条,easyexcel可以很好支持,apache poi会出现oom,jvm参数设置不足时可能导致程序崩溃。
java导出excel组件alibaba easyexcel和apache poi性能对比相关推荐
- Java实现excel的读与写(Apache POI)
本文将讨论利用Apache POI提供的类实现Excel文件的读与写操作. 整个项目的目录结构基于前面的一篇文章:<java读取pdf内容> 1.pom.xml <dependenc ...
- java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题
在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况.但是,在生成Excel文件后,发现无法正常打开该文件. 例如:以当前的时间点为文件名,新生成一个Excel文件.先来看看下面一段代码. ...
- java导出excel与word文档
导出excel与word 依赖如下 <!--导出excel文档,easyexcel的依赖:为了防止poi版本冲突--><dependency><groupId>co ...
- java导出Excel(POI模式 Ajax下载 Post传参) bootstrap table getVisibleColumns获取显示的列
工具类 (正式使用) package com.qyj.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson. ...
- JAVA导出EXCEL实现
##JAVA导出EXCEL实现的多种方式 java导出Excel的方法有多种,最为常用的方式就是使用第三方jar包,目前POI和JXL是最常用的二方包了,也推荐使用这两种. ###POI实现 POI这 ...
- JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)
JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框
原文转载:http://blog.csdn.net/evangel_z/article/details/7332535 目录(?)[+] 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数 ...
- java导出excel并实现下载功能
java导出excel并实现下载功能 这里我们使用alibaba的依赖包 <dependency><groupId>com.alibaba</groupId>< ...
- Java 导出excel表 POI
1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 1.建立一个实体类 1 imp ...
最新文章
- 希望和等待:目标,欲望和意志
- Mycat实现垂直拆分与水平拆分
- 目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU
- 无法从“std::_Binder std::_Unforced,SOCKET ,LPSOCKADDR,unsigned int ”转换为“int”
- kinect二次开发_Kinect for Windows SDK开发初体验(二)操作Camera
- 【杂谈】有三AI季划成员的4大专属权益,你是否已经利用好了?
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
- Eclipse导入github项目后不显示分支名称没有黄色小油桶标志
- python特性 property_Python中property属性实例解析
- angularjs源码笔记(1.3)--directive ctrl attrs
- 主机宝linux版,主机宝linux版有什么用
- 双十一买什么充电宝好?实惠好用的充电宝推荐
- 移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡
- 蚂蚁金服智能推荐引擎解决方案与实践
- Adobe Acrobat XI Pro 11.x 安装指南
- Java开源图像处理框架Marvin介绍
- iOS - 递归遍历文件夹下的所有文件
- 个人godaddy域名备案解决方案
- 关于日期格式yyyy-MM-dd和YYYY-MM-dd
- make menuconfig缺少ncurses