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性能对比相关推荐

  1. Java实现excel的读与写(Apache POI)

    本文将讨论利用Apache POI提供的类实现Excel文件的读与写操作. 整个项目的目录结构基于前面的一篇文章:<java读取pdf内容> 1.pom.xml <dependenc ...

  2. java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题

    在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况.但是,在生成Excel文件后,发现无法正常打开该文件. 例如:以当前的时间点为文件名,新生成一个Excel文件.先来看看下面一段代码. ...

  3. java导出excel与word文档

    导出excel与word 依赖如下 <!--导出excel文档,easyexcel的依赖:为了防止poi版本冲突--><dependency><groupId>co ...

  4. java导出Excel(POI模式 Ajax下载 Post传参) bootstrap table getVisibleColumns获取显示的列

    工具类 (正式使用) package com.qyj.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson. ...

  5. JAVA导出EXCEL实现

    ##JAVA导出EXCEL实现的多种方式 java导出Excel的方法有多种,最为常用的方式就是使用第三方jar包,目前POI和JXL是最常用的二方包了,也推荐使用这两种. ###POI实现 POI这 ...

  6. JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)

    JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...

  7. Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框

    原文转载:http://blog.csdn.net/evangel_z/article/details/7332535 目录(?)[+] 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数 ...

  8. java导出excel并实现下载功能

    java导出excel并实现下载功能 这里我们使用alibaba的依赖包 <dependency><groupId>com.alibaba</groupId>< ...

  9. Java 导出excel表 POI

    1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 1.建立一个实体类 1 imp ...

最新文章

  1. 希望和等待:目标,欲望和意志
  2. Mycat实现垂直拆分与水平拆分
  3. 目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU
  4. 无法从“std::_Binder std::_Unforced,SOCKET ,LPSOCKADDR,unsigned int ”转换为“int”
  5. kinect二次开发_Kinect for Windows SDK开发初体验(二)操作Camera
  6. 【杂谈】有三AI季划成员的4大专属权益,你是否已经利用好了?
  7. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
  8. Eclipse导入github项目后不显示分支名称没有黄色小油桶标志
  9. python特性 property_Python中property属性实例解析
  10. angularjs源码笔记(1.3)--directive ctrl attrs
  11. 主机宝linux版,主机宝linux版有什么用
  12. 双十一买什么充电宝好?实惠好用的充电宝推荐
  13. 移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡
  14. 蚂蚁金服智能推荐引擎解决方案与实践
  15. Adobe Acrobat XI Pro 11.x 安装指南
  16. Java开源图像处理框架Marvin介绍
  17. iOS - 递归遍历文件夹下的所有文件
  18. 个人godaddy域名备案解决方案
  19. 关于日期格式yyyy-MM-dd和YYYY-MM-dd
  20. make menuconfig缺少ncurses

热门文章

  1. 微信小程序前后端数据交互
  2. docker 可视化工具 kitematic
  3. Matlab写文本txt换行
  4. html h1 字母,htmlh1标题标签元素
  5. 想知道孩子学习成果?猜词小游戏,随时抽查让他随机背单词!
  6. Python 证件照换背景色(蓝底->白底,蓝底->红底)!
  7. 导致403错误的原因和解决方法
  8. JFNK(Jacobian-free Newton-Krylov)方法
  9. 离线数据清洗,Spark和Python Pandas对比
  10. python连接mongodb数据库密码_windows下mongodb设置用户名密码用python连接