如何理解它是否会超过Java堆大小?
我实现了一个程序,用于计算股票价值,并将该价值与给定时间的价值进行比较,等等。。 我有一个csv文件,其中包含所有日期和双值。在我的程序中,对于每个日期,我都会打开一个文件,解析和搜索给定日期的值。我可以多次查看日期。这就是为什么我想在HashMap中使用这些值,如果我没有给定日期的值作为键,我会打开csv文件并搜索它。 但在实现该程序之前,我想检查一下,如果我将所有值存储在hashmap中,它是否适合java的8MB堆。 我的csv文件有1200行日期和相应的双精度值。 在实现代码之前有没有办法理解它? 或者你有没有更好的建议来制定更有效的计划如何理解它是否会超过Java堆大小?,java,heap,processing-efficiency,Java,Heap,Processing Efficiency,我实现了一个程序,用于计算股票价值,并将该价值与给定时间的价值进行比较,等等。。 我有一个csv文件,其中包含所有日期和双值。在我的程序中,对于每个日期,我都会打开一个文件,解析和搜索给定日期的值。我可以多次查看日期。这就是为什么我想在HashMap中使用这些值,如果我没有给定日期的值作为键,我会打开csv文件并搜索它。 但在实现该程序之前,我想检查一下,如果我将所有值存储在hashmap中,它是否适合java的8MB堆。 我的csv文件有1200行日期和相应的双精度值。 在实现代码之前有没有办
谢谢。将这些数据加载到hashmap中比不断地从文件中读取要高效几个数量级。对于通过解析和加载给定的csv文件来确定占用多少堆空间,没有一条硬性规定。它取决于系统架构、使用的字符串编码、数据类型等
最简单也是最好的方法是运行一个简单的JVM分析器,并检查将特定大小的文件加载到hashmap之前和之后堆使用情况的差异。老实说,我发现很难相信JVM会以8MB堆开始。。。