2

我有一些 Java 代码在运行一段时间后抛出内存异常。我调查了 netbeans 分析器,当我执行一项特定操作时,Surviving Generations Metric 会上升。但是,当我重置程序状态(而不是杀死它)时,Surviving Generations Metric 不会减少。

为什么幸存的世代指标没有减少?

4

3 回答 3

2

您是否看过“幸存的世代指标是什么意思”?

于 2009-07-09T21:50:01.983 回答
0

在 1.6 下运行它,并使用 Java VisualVM (jvisualvm)。

选择您的进程,右键单击并选择堆转储。

让它运行一段时间,然后再进行一次堆转储。

然后使用 File > Compare Memory Snapshots 比较两个转储。

于 2009-07-30T23:25:05.867 回答
0

我在这里遇到了同样的问题,但仅在我分析 JUnit 测试的情况下——幸存的世代呈线性增长。当我在 main 方法中运行相同的代码时,代码的行为符合预期。

于 2009-10-09T13:43:57.517 回答