jvm字符串池实习生中有多少个字符串

时间:2014-12-31 10:29:55

标签: java string profiling

我正在分析应用程序,使用实习生输入字符串确实有帮助。 我想要找到的是一个用于对象池的好数字,所以我不会有性能损失。 我如何知道实习池中插入了多少个字符串?

我正在运行一些生产跟踪,我无法真正计算输入。

JVM是否为此提供api?

1 个答案:

答案 0 :(得分:6)

从JDK7开始,您可以使用-XX:+PrintStringTableStatistics JVM标志打印有关字符串表大小的信息,例如存储桶数量和存储桶大小。

你也可以通过调用命令jmap来使用jmap -heap *process_id*工具,该命令最后会显示被拦截的字符串数量和总大小(也需要JDK7 +)。

查看this blog post了解详情。