Java jvm字符串池实习生中有多少字符串
我正在分析一个应用程序,使用intern输入字符串真的很有帮助。 我想找到一个用于对象池的好数字,这样我就不会有性能损失。 我怎么知道实习生池中插入了多少字符串 我正在运行一些生产跟踪,我无法真正计算输入Java jvm字符串池实习生中有多少字符串,java,string,profiling,Java,String,Profiling,我正在分析一个应用程序,使用intern输入字符串真的很有帮助。 我想找到一个用于对象池的好数字,这样我就不会有性能损失。 我怎么知道实习生池中插入了多少字符串 我正在运行一些生产跟踪,我无法真正计算输入 JVM是否为此提供了api 从JDK7开始,您可以使用-XX:+PrintStringTableStatisticsJVM标志来打印有关字符串表大小的信息,例如存储桶的数量和存储桶的大小 您还可以通过调用命令jmap-heap*process\u id*来使用jmap工具,该命令将在末尾显示插
JVM是否为此提供了api 从JDK7开始,您可以使用
-XX:+PrintStringTableStatistics
JVM标志来打印有关字符串表大小的信息,例如存储桶的数量和存储桶的大小
您还可以通过调用命令jmap-heap*process\u id*
来使用jmap
工具,该命令将在末尾显示插入的字符串数和总大小(还需要JDK7+)
查看更多详细信息。这会将统计数据打印一次到标准输出,我希望以某种方式对此进行监控。由于它释放了未使用的字符串,我希望看到在应用程序生命周期中占用它的最大字符串数