background image

  

  ▲命令 jmap -histo:live 的输出结果显示了堆中现有对象的个数

  结果中每行显示了当前堆中每种类类型的信息,包含被分配的实例个数及其消耗的
字节数。
  本例中,我请同事有意给程序增加了一处明显的内存泄露。请特别注意位于第 8 行的
类,CelleData。将它与下图显示的 4 分钟后截屏进行比较:

  

  ▲jmap 的输出表明 CelleData 类的对象数目增加了

  请注意 CelleData 类现在已经变为系统中第二多的类,短短 4 分钟内已经增加了
631,701 个额外实例。等待约一小时后,我们观察到如下结果: