代码之家  ›  专栏  ›  技术社区  ›  Jason

如何确定数据结构的实际内存使用情况

  •  1
  • Jason  · 技术社区  · 15 年前

    例如,本学期的课程计划与将各种结构应用到歌曲数据库有关。这些项目包括数组、列表、展开列表和树。我想做的是看看使用了多少内存。例如,链表的内存要求是3N,但是我想看看一个节点在我的项目中占用了多少空间。

    JProfiler看起来是可行的,但是500美元超出了我的价格范围,我想把它用于本学期的所有结构,而不是目前为止应用的三个。

    4 回复  |  直到 15 年前
        1
  •  6
  •   Amir Afghani    15 年前

    alt text

    使用 VisualVM . 它随JDK一起提供,允许您拍摄堆的快照。

        2
  •  1
  •   Yevgeniy Brikman    15 年前

    最准确的方法可能是使用profiler-使用Google查找免费的。

    或者,你可以试试 Do you know your data size? .

        3
  •  1
  •   phill    15 年前

    getObjectSize 方法的一部分 Instrumentation 接口,它可以在没有第三方应用程序的情况下提供所需的答案。正如阿米尔所建议的那样,VisualVM可能并不容易,但读到它也不会有什么坏处。

        4
  •  -2
  •   novalis    15 年前

    运行垃圾收集器;检查可用内存;创建一个对象;检查可用内存;减去。