测试内存效率比较大数据集上的数据结构

时间:2016-09-12 19:28:44

标签: java memory-management arraylist linked-list

是否有可以使用的在线资源可以模拟一段代码在大型数据集上的执行情况并为我提供指标?

否则你会建议采用什么方法来实现这个目标? (在我的例子中,我特别希望看到LinkedList与ArrayList在内存使用方面的表现如何(能够在一段时间内查看瓶颈会令人惊讶)从5GB文件中读取一系列内容)

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用内存分析器,Oracle JDK中有两个visualvmjmc

您还可以通过查看总堆大小来获取完整的GC并查看使用了多少内存。在HotSpot上,System.gc();默认为荣誉。

  

能够在一段时间内查看瓶颈将是惊人的

这就是CPu和内存分析器的设计目的。

答案 1 :(得分:0)

您不需要任何工具来计算特定java Collection的内存使用情况。

在你的情况下:

  • LinkedList中,任何节点占用24个字节。
  • ArrayList中,任何节点占用4个字节,但如果容量严重超过大小,则可能更多。

有用的link1link2