0

我实现了一个关于计算股票价值的程序,比较给定时间值等中的值。我有一个包含所有日期和双精度值的 csv 文件。在我的每个日期的程序中,我打开一个文件,解析和搜索给定日期的值。我可能会多次检查日期。这就是为什么我想在 HashMap 中使用这些值,如果我没有给定日期的值作为键,我会打开 csv 文件并搜索它。但在实现该程序之前,我想检查如果我将所有值存储在哈希图中,它是否适合 8MB 的 java 堆。我的 csv 文件有 1200 行日期和相应的双精度值。在实现代码之前有什么方法可以理解它吗?或者你有什么更好的想法来制作更有效的程序吗?

谢谢。

4

1 回答 1

1

将这些数据加载到哈希图中比不断地从文件中读取效率要高几个数量级。对于确定解析和加载给定 csv 文件将占用多少堆空间,没有一个硬性规定。这取决于系统架构、使用的字符串编码、数据类型等。

最简单和最好的方法是运行一个简单的 JVM 分析器,并检查在将特定大小的文件加载到 hashmap 之前和之后的堆使用情况的差异。

于 2012-03-09T19:53:54.943 回答