微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在Java中监视已编译的代码缓存?

好的 – 我知道我可以像这样运行我的java进程:

java -XX:+PrintCompilation 

我可以看到如下输出

c:\>java -XX:+PrintCompilation -jar c:\FooProgram.jar
  1       java.lang.String::charat (33 bytes)
  2       java.lang.Math::max (11 bytes)
  1%      java.util.jar.JarFile::hasClasspathAttribute @ 78 (197 bytes)
  3       java.lang.String::hashCode (60 bytes)
  4       java.lang.String::indexOf (151 bytes)
  5       java.util.Properties$LineReader::readLine (452 bytes)
  6       java.lang.Object::java.lang.String::indexOf (166 bytes)
  8       java.lang.String::equals (88 bytes)

让我知道哪些方法是编译的,未编译的,标记为僵尸等等.是否有监控编译这些方法代码缓存的用法?当编译器代码缓存已满时,我看到一条消息,上面写着:“我已经满了,没有更多的编译对你……”,但似乎这样的事情似乎是一个滞后指示我们遇到了问题.我知道如何打印代码缓存的最大大小,我正在寻找的是一种方式来查看它是如何填充的.

最佳答案
JConsole会告诉你.您还可以在应用服务器中安装Java-monitor,并在主机的“查看所有测量”页面中查看代码缓存. http://java-monitor.com

原文地址:https://www.jb51.cc/java/437637.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐