原文: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