【发布时间】:2013-03-16 17:46:29
【问题描述】:
在跟踪可能的内存泄漏时,我遇到了以下现象。 Java 7 回收实习字符串或 jmap 是否不精确?
# jmap -heap 9724 | grep 实习 正在附加到进程 ID 9724,请稍候... 调试器连接成功。 检测到服务器编译器。 JVM版本是23.3-b01 10526 个实习字符串,占用 880048 个字节。 # jmap -heap 9724 | grep 实习 正在附加到进程 ID 9724,请稍候... 调试器连接成功。 检测到服务器编译器。 JVM版本是23.3-b01 10514 个实习字符串,占用 878984 个字节。 # jmap -heap 9724 | grep 实习 正在附加到进程 ID 9724,请稍候... 调试器连接成功。 检测到服务器编译器。 JVM版本是23.3-b01 10519 个实习字符串,占用 879720 字节。环境: Linux 版本 2.6.32-220.23.1.el6.centos.plus.x86_64 (mockbuild@c6b5.bsys.dev.centos.org) (gcc 版本 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP 2012 年 6 月 19 日星期二 04:14:37 BST
java版本“1.7.0_07” Java(TM) SE 运行时环境 (build 1.7.0_07-b10) Java HotSpot(TM) 64 位服务器 VM(内部版本 23.3-b01,混合模式)
【问题讨论】:
-
是的,Java 正在回收内部字符串。
-
谢谢!我刚刚看到“10056 个实习字符串,占用 847280 个字节”。