lon*_*uro 17 jvm java-8 metaspace
在我们在Jdk 8上运行的应用程序中,我们使用VisualVM来跟踪加载类的使用情况和元空间的使用情况.
在我们的应用程序运行的某个时间点,我们看到加载的类的数量不再增加,但是在我们的程序运行时,元空间的大小仍然增加.那么除了类之外还有哪些东西存储在元空间中,这可能会导致这种情况呢?
小智 6
当您的程序运行时,您的代码的某些部分可能被HotSpot的JIT编译器确定为"热门".这将导致这些部分被转换/编译为本机代码,并且还可以将其他一些代码内联到其中.这个本机代码表示必须去某个地方,它与其他类元数据 - Metaspace进入同一个地方.
它解释了您所看到的持续增长:热门部分是通过使用该代码执行多少次的简单指标来确定的.随着时间的推移,越来越多的代码片段将被JIT,因为它们将达到阈值设置-XX:CompileThreshold(默认为10000)
| 归档时间: |
|
| 查看次数: |
2836 次 |
| 最近记录: |