问题描述
在一项技术讨论中,有人问我针对以下情况的解决方案,而不使用任何处理类似情况的标准Java库
我可能会想到以下解决方案
- 获取数组的长度并使用长度的一部分进行处理(对于长度为4的数组进行4次迭代) 可以使用split命令(或在各自的OS环境中类似的东西)将
- 原始文件分为多个部分。处理单个较小的文件并生成中间结果(例如,数据聚合)。一旦完成了单个文件处理,然后根据中间结果文件的最终大小,一次性处理所有结果文件,或再次应用迭代处理。
但是我想知道是否有更好的方法。另外,如果此类问题不适用于本论坛,请让我知道,我将删除该问题。 虽然我找到了一些带有解决方案的google文章,但是它谈到了一些图书馆已经提供的解决方案,因此将其发布在这里。
解决方法
一种解决方案可能是堆外内存。可以映射到直接内存或磁盘。你可以在这里得到一些启发 https://mechanical-sympathy.blogspot.com/2012/10/compact-off-heap-structurestuples-in.html