Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果-XX:+;UseCodeCache是否未使用冲洗?_Java_Jvm_Jvm Arguments_Java Opts - Fatal编程技术网

Java 如果-XX:+;UseCodeCache是否未使用冲洗?

Java 如果-XX:+;UseCodeCache是否未使用冲洗?,java,jvm,jvm-arguments,java-opts,Java,Jvm,Jvm Arguments,Java Opts,我使用jconsole监视javaDB(derby),我的java版本是1.6.027 正如我在这篇文章中读到的那样: 我认为如果没有-XX:+UseCodeCacheFlushing -XX:+UseCodeCacheFlushing在1.7.0\u 4之前不会自动打开 但是jconsole显示CodeCache的使用率下降了,这让我很惊讶: 有什么解释吗?除了JIT编译方法之外,CodeCache中还有什么?原因可能仍然是选项:UseCodeCacheFlushing=true。 3版

我使用jconsole监视javaDB(derby),我的java版本是1.6.027

正如我在这篇文章中读到的那样:

  • 我认为如果没有-XX:+UseCodeCacheFlushing
  • -XX:+UseCodeCacheFlushing在1.7.0\u 4之前不会自动打开
但是jconsole显示CodeCache的使用率下降了,这让我很惊讶:


有什么解释吗?除了JIT编译方法之外,CodeCache中还有什么?

原因可能仍然是选项:UseCodeCacheFlushing=true。 3版本JDK的默认配置如下:

$ java -XX:+PrintFlagsFinal -version | grep CodeCacheFlush
 bool UseCodeCacheFlushing                      = true                                {product}
java版本“1.8.0_25” Java(TM)SE运行时环境(build 1.8.0_25-b18) Java HotSpot(TM)64位服务器虚拟机(构建25.25-b02,混合模式)

java版本“1.7.0_79” Java(TM)SE运行时环境(build 1.7.0_79-b15) Java HotSpot(TM)64位服务器虚拟机(构建24.79-b02,混合模式)

java版本“1.7.0_51” Java(TM)SE运行时环境(build 1.7.0_51-b13)
Java HotSpot(TM)64位服务器虚拟机(构建24.51-b03,混合模式)

可能是由于某些方法未编译。感谢assylias,您的意思是因为“过度优化”或其他原因需要放弃某些方法吗?我从一篇JVM文章中读到,有时JVM会根据统计信息优化方法,这可能会切断一些很少发生的逻辑分支。在多态性的情况下,有一些方法或示例方法需要反编译-请参阅示例:。我不知道这是否是你观察到的原因——这只是一个猜测。
$ ./java -XX:+PrintFlagsFinal -version | grep CodeCacheFlush
uintx CodeCacheFlushingMinimumFreeSpace         = 1536000         {product}
 intx MinCodeCacheFlushingInterval              = 30              {product}
 bool UseCodeCacheFlushing                      = true            {product}
$ java -XX:+PrintFlagsFinal -version | grep CodeCacheFlush
uintx CodeCacheFlushingMinimumFreeSpace         = 1536000         {product}           
 intx MinCodeCacheFlushingInterval              = 30              {product}           
 bool UseCodeCacheFlushing                      = true            {product}