分段代码缓存是Java 9中引入的一个新特性,它将代码缓存划分为若干段,这在很大程度上提高了性能。但是,由于每个代码堆的大小固定,可能会出现一些内存浪费,如果使用小型代码缓存,则一个代码堆已满,而另一个代码堆中仍有空间。
那么,克服这些内存问题的可能解决办法是什么呢?
发布于 2017-09-29 18:33:48
分段码缓存 JEP的“风险和假设”(分段码缓存JEP)以一种更清晰的方式表述了同样的观点:-
每个代码堆都有固定大小,如果一个代码堆已满,而另一个代码堆中仍有空间,则可能会浪费内存。,特别是对于非常小的代码缓存大小,即使仍然有可用的空间,也可能会关闭编译器。为了解决这个问题,将添加一个选项来关闭小代码缓存大小的分段。。
引入了以下命令行开关来控制代码堆的大小:
-XX:NonProfiledCodeHeapSize:设置包含非剖析方法的代码堆的大小(以字节为单位)。-XX:ProfiledCodeHeapSize:设置包含配置方法的代码堆的大小(以字节为单位)。-XX:NonMethodCodeHeapSize:以字节为单位设置包含非方法代码的代码堆的大小。https://stackoverflow.com/questions/46494761
复制相似问题