我正在分析应用程序,使用实习生输入字符串确实有帮助。 我想要找到的是一个用于对象池的好数字,所以我不会有性能损失。 我如何知道实习池中插入了多少个字符串?
我正在运行一些生产跟踪,我无法真正计算输入。
JVM是否为此提供api?
答案 0 :(得分:6)
从JDK7开始,您可以使用-XX:+PrintStringTableStatistics
JVM标志打印有关字符串表大小的信息,例如存储桶数量和存储桶大小。
你也可以通过调用命令jmap
来使用jmap -heap *process_id*
工具,该命令最后会显示被拦截的字符串数量和总大小(也需要JDK7 +)。
查看this blog post了解详情。