【问题标题】:Class-wise profiling of Java memory consumptionJava 内存消耗的分类分析
【发布时间】:2013-08-20 09:06:23
【问题描述】:

我有一个 Java 项目,它以树状层次结构初始化数千个对象。

最初,我在编程时考虑到了性能,因此不介意在类字段(变量)中存储大量可计算属性..
然而,最近,我开始尝试估计我的项目的内存占用量,发现它非常大。

我正在尝试确定哪个类消耗的内存最多
我想我可以将其缩小到哪个字段消耗最多(可能是字符串)

我遇到过Java的instrumentation包和getObjectSize

我尝试了解他们的文档,但我不确定 instrumentation 是否适合我的任务。
我还注意到getObjectSize 不会递归查找大小。

我正在考虑创建一个扩展 Object 并包含 instance -> instanceSize 的静态映射的类,然后让我的所有类扩展这个类并更新它们的构造函数

我的方法正确吗?
完成此任务的最“Java”方式是什么?

【问题讨论】:

    标签: java profiling memory-profiling


    【解决方案1】:

    嗯,放下编码工具,拿起一个内存分析器。那里有很多免费的。

    【讨论】:

    • 我已经开始使用 Eclipse 内存分析器工具 (MAT),它出色地完成了这项工作!感谢您的洞察力
    猜你喜欢
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 2017-08-05
    • 2021-06-05
    • 1970-01-01
    相关资源
    最近更新 更多