2012-03-09 42 views
0

我實現了一個關於計算股票價值的方法,比較給定時間值中的值等。 我有一個csv文件,它具有所有日期和雙精度值。在我的每一個日期的程序中,我打開一個文件,解析並搜索給定日期的值。我可以多次查看日期。這就是爲什麼我想在HashMap中使用這些值,如果我沒有給定日期的值作爲Key,我會打開csv文件並搜索它。 但是在實現該程序之前,我想檢查一下,如果我將所有值存儲在散列映射中,它是否適合8MB的Java堆。 我的csv文件有1200行日期和相應的double值。 在實現代碼之前有什麼辦法理解它嗎? 或者你建議任何更好的想法,使更高效的方案?如何理解它是否會超過Java堆大小?

謝謝。

+0

老實說,我發現很難相信JVM只會啓動一個8MB的堆...... – 2012-03-09 19:51:21

回答

1

將該數據加載到散列圖中比從文件中不斷讀取更有效。沒有一個硬性規則和快速規則來確定解析和加載給定的csv文件將佔用多少堆空間。這取決於系統體系結構,使用的字符串編碼,數據類型等。

最簡單和最好的方法是運行簡單的JVM分析器,並檢查堆使用情況的差異,從剛纔加載特定大小文件轉換成散列表。

相關問題