原文:Apache POI Java读取100万行Excel性能优化:split vs indexOf+subString,谁性能好

使用Apache POI eventmodel实现一个Excel流式读取类,目标是 万行,每行 列,文件大小 MB的Excel文件能在 s读取并处理完。一开始实现的程序需要 s,离目标差太远了,使用jvisualvm分析各方法执行时间,结果如下: 可以看到,程序中的splitLine和getRowNum方法消耗了大量时间。这两个方法都特别简单。splitLine方法将类似 hello 这样的字符串 ...

2014-07-27 21:05 2 3930 推荐指数:

查看详情

关于Java导出100万行数据到Excel优化方案

1》场景   项目中需要从数据库中导出100万行数据,以excel形式下载并且只要一张sheet(打开这么大文件有多慢另说,呵呵)。   ps:xlsx最大容纳1048576 ,csv最大容纳1048576,xls最大容纳65536,但是存放相同的数据量 文件大小排序:xls> ...

Sat Dec 20 01:45:00 CST 2014 2 26884
为什么nginx性能apache性能好

为什么nginx性能apache性能好 nginx用的相对于c++更底层的c编写,有一定原因 两种webserver的设计和定位的不同。 nginx自身定位为一个轻量级webserver,高级功能依赖于配置和加载模块组建。而apache自身功能强大,自身设计也是追求强大的稳定性 ...

Wed Jun 19 23:43:00 CST 2019 0 861
ConcurrentHashMap为什么比HashTable性能好

ConcurrentHashMap为什么比HashTable性能好? 答:ConcurrentHashMap里使用了Segment分段锁+HashEntry,而HashTable用的是Syncronized锁全部,所有线程竞争一把锁。 Segment分段锁继承ReentrantLock ...

Fri Feb 15 20:55:00 CST 2019 0 827
读取超大Excel(39万行数据)

有个学长需要处理Excel数据,Excel数据共有39W,将数据读取后处理并导出数据。最开始尝试了 NPOI ,发现NPOI 并不能完成该项任务,随后尝试引用的com组件:Microsoft.Office.Interop.Excel.dll 读取EXCEL文件 . 最终 ,也以失败 ...

Sat Sep 23 18:39:00 CST 2017 0 2395
2020 年了,Java 日志框架到底哪个性能好?——技术选型篇

大家,之前写(shui)了两篇其他类型的文章,感觉大家反响不是很好,于是我乖乖的回来更新硬核技术文了。 经过本系列前两篇文章我们了解到日志框架大战随着 SLF4j 的一统天下而落下帷幕,但 SLF4j 仅仅是接口,实现方面, logback 与 log4j2 仍然难分高下 ...

Wed Jan 15 21:27:00 CST 2020 0 2661
POI读写大数据量excel,解决超过几万行而导致内存溢出的问题

1. Excel2003与Excel2007 两个版本的最大行数和列数不同,2003版最大行数是65536,最大列数是256列,2007版及以后的版本最大行数是1048576,最大列数是16384列。 excel2003是以二进制的方式存储,这种格式不易被其他软件读取使用 ...

Sun Jan 21 01:42:00 CST 2018 59 31147
JAVA导出上万行Excel数据的解决方案

Java Web开发中,经常需要导出大量的数据到Excel,动辄就上千,上万行的数据让我们的程序感觉压力很大,甚至都出现无法导出的情况,使用POI、JXL直接生成Excel,很容易就造成内存溢出了。即使不溢出,由于代码执行耗时太久也会长时间阻塞web页面,导致web系统并发访问性能急剧下降 ...

Fri Apr 19 00:14:00 CST 2013 0 8010
SQLSERVER 里SELECT COUNT(1) 和SELECT COUNT(*)哪个性能好

SQLSERVER 里SELECT COUNT(1) 和SELECT COUNT(*)哪个性能好? 今天遇到某人在我以前写的一篇文章里问到 如果统计信息没来得及更新的话,那岂不是统计出来的数据时错误的了 这篇文章的地址:SQLSERVER是怎麽通过索引和统计信息来找到目标数据 ...

Sat Oct 19 04:38:00 CST 2013 16 20065
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM