Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 理解存活世代度量_Java_Netbeans_Memory Leaks_Garbage Collection_Visualvm - Fatal编程技术网

Java 理解存活世代度量

Java 理解存活世代度量,java,netbeans,memory-leaks,garbage-collection,visualvm,Java,Netbeans,Memory Leaks,Garbage Collection,Visualvm,Netbeans的内存监控工具(与VisualVm是同一个工具)有一个有趣的度量来跟踪内存泄漏:幸存代度量 可以在oracle.com上找到: 生成是在相同的GC间隔内(两个垃圾收集之间)创建的一组实例 幸存的一代是至少在一次垃圾收集中幸存的一代。幸存的垃圾收集数量(该代的年龄)是其唯一标识符 Surviving Generations(metrics)value是堆上当前处于活动状态的不同幸存代数(具有不同代龄的代数) 我对第二个定义有疑问。我知道实例在垃圾收集中生存意味着什么。但我不确定

Netbeans的内存监控工具(与VisualVm是同一个工具)有一个有趣的度量来跟踪内存泄漏:幸存代度量

可以在oracle.com上找到:

  • 生成是在相同的GC间隔内(两个垃圾收集之间)创建的一组实例
  • 幸存的一代是至少在一次垃圾收集中幸存的一代。幸存的垃圾收集数量(该代的年龄)是其唯一标识符
  • Surviving Generations(metrics)value是堆上当前处于活动状态的不同幸存代数(具有不同代龄的代数)

我对第二个定义有疑问。我知道实例在垃圾收集中生存意味着什么。但我不确定一代人要在垃圾收集中生存下来意味着什么。这是否意味着至少有一个生成实例在垃圾收集过程中幸存?

是。基本上,这意味着,在垃圾收集X和X+1之间创建的实例中,有一些实例在发生更多垃圾收集时仍然存在


在我看来,这三个定义只有在每一类中才有意义。我的意思是,给定类的“尚存代(度量)值”是该类在堆上的不同代数。

是的,感谢您指出NetBeans/VisualVM能够为每个类提供此度量。这确实是一个非常有用的信息,用于跟踪内存泄漏!小更正:Netbeans的内存监控工具不是嵌入式VisualVM。VisualVM包含精简版的NetBeans探查器。VisualVM中的CPU和内存评测基于NetBeans评测器代码。感谢您提供的信息。我更新了我的问题。