适用于 Mac OS X 的 Java 分析器,支持标记堆

标签 java macos profiler

我想知道在我的应用程序中处理单个请求所创建的额外对象的数量。

我记得OptimizeIt以前可以做到。我记得的步骤是:

  1. 将分析器附加到应用程序
  2. 在服务器上运行少量负载,以便发生所有初始化 Activity
  3. 分析器中的“强制 GC”,运行完整 GC
  4. “标记堆”,现在我们知道堆中每种类型的实例数量
  5. 向服务器发送一个请求。
  6. 探查器显示自上次“标记”以来创建了哪些对象
  7. 再次“强制GC”以查看是否有任何对象处于延迟状态

OptimizeIt 似乎不再积极开发(如果我错了,请纠正我),而且它似乎不支持 Mac OS X。

是否还有其他适用于 Mac OS X 的 Java 分析器支持我上面概述的场景?

最佳答案

JProfiler可以做到这一点。你

  1. 附加到正在运行的应用程序
  2. 开始记录分配
  3. 执行您的用例
  4. 拍摄堆快照并在堆遍历器选项对话框中选中“选择记录的对象”

那么堆遍历器的初始对象集将仅包含由您的用例创建的强引用对象。

免责声明:我公司开发JProfiler

关于适用于 Mac OS X 的 Java 分析器,支持标记堆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7934359/

相关文章:

Java 正则表达式匹配器总是返回 false

java - 具有 url 别名的空 session

objective-c - 在运行时运行任意代码

objective-c - 在哪里寻找错误。文档、应用程序委托(delegate)或两者兼而有之?

java - 如何使用 AND 运算符使用两个或多个条件过滤 Netbeans Profiler 中的方法

c++ - 无法使用 gprof 累积时间 - gnu 分析器

java - Java 中的 CSV 行读取器

java - UrlRewrite 不重定向某些文件

macos - printf 改变输入数字

eclipse - 既然 TPTP 将被归档,那么您在 Eclipse 中使用什么进行分析?