简体   繁体   English

Java POI HSSF内存处理问题

[英]Java POI HSSF Memory Handling Question

I have a design question on how to design parsing a large excel file say 1000 x 100 Rows, and about 10 tabs. 我有一个设计问题,关于如何设计分析大型Excel文件,例如1000 x 100行和大约10个选项卡。

Each Tab having a set of records with primary key as the first col. 每个选项卡都有一组记录,这些记录具有主键作为第一个列。 but these could be repeted in different tabs and each does not have the same set of primary keys. 但可以在不同的标签中重复这些标签,并且每个标签都不具有相同的主键集。

  1. Read a single primary key and form a java object with all the attributes spread across multiple tabs. 读取单个主键并形成一个Java对象,其所有属性都分布在多个选项卡中。

  2. Read tab by tab, and process the record 逐个标签地阅读,并处理记录

In terms of how Memory is handled in HSSF Java API. 关于如何在HSSF Java API中处理内存。

Thanks in Advance 提前致谢

I have an app that does almost exactly your option 1. You'll need about 500M of ram for the VM for it to run at all well. 我有一个几乎可以完全满足您的选择1的应用程序。VM需要约500M的内存才能完全运行。 And its not super fast, but it works. 而且它不是超级快,但是可以工作。

I'd therefore go for option 2. ( refactoring to cache tabs parse results has improved performance. 因此,我会选择选项2。(重构到缓存选项卡以解析结果可提高性能。

I'd recommend to stop using HSSF objects as soon as you can so they can be garbage collected. 我建议您尽快停止使用HSSF对象,以便对它们进行垃圾回收。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java Apache POI HSSF CellRangeAddressList - Java Apache POI HSSF CellRangeAddressList 如何将HSSF行另存为String Java POI - How to save HSSF rows as String java POI java.lang.NoClassDefFoundError:org / apache / poi / hssf / usermodel / HSSFWorkbook - java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook 如何在HSSF apache poi(JAVA)上使用相对参考克隆功能 - How to Clone Function with relative Reference on HSSF apache poi (JAVA) Java。 HSSF。 Apache-poi。 如何修改代码 - Java. HSSF. Apache-poi. How to modificate code java.lang.NoSuchMethodError:org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg / apache / poi / hssf / usermodel / HSSFDataFormat; - java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg/apache/poi/hssf/usermodel/HSSFDataFormat; 尝试使用 POI 5.0.0 编写时给出 java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook - Attempt to write using POI 5.0.0 give java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook 如何使用Java中的POI HSSF库在Excel中删除行数据之间的空行 - How to remove empty rows between row data in excel using POI HSSF Library in Java java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion - java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion Java-Apache POI HSSF / XSSF-数据格式为XX:XX的读取单元有问题 - Java - Apache POI HSSF/XSSF - Trouble reading cell with data format XX:XX
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM