我已经通过提供以下Java选项启用了类共享:
-Xquickstart -Xshareclasses:cacheDir=/cache,verbose,checkURLTimestamps,persistent -Xscmx300M但是我只能让Java分享它自己的库代码:
root@f7dc95f540cf:/# java -Xshareclasses:cacheDir=/cache,printStats=classpath
1: 0x00007F5ACE807F1C CLASSPATH
/opt/java/openjdk/lib/modules
Current statistics for cache "sharedcc_root":
Cache created with:
-Xnolinenumbers = false
BCI Enabled = true
Restrict Classpaths = false
Feature = cr有没有办法让OpenJ9也共享所有的应用程序类?
发布于 2020-05-09 05:32:48
只要您的应用程序类加载器扩展了URLClassLoader,OpenJ9就应该能够缓存由该类加载器加载的应用程序类。默认情况下,OpenJ9只在它检测到的启动阶段缓存AOT代码,但是如果你删除-Xquickstart并使用-Xtune:virtualized运行,更多的AOT代码缓存也会发生(在整个运行过程中,也就是启动后阶段)。这可能对你的场景有帮助,也可能没有帮助,但我想我应该提一下。请告诉我进展如何。
发布于 2020-02-29 22:58:33
通过从Java 11升级到13来解决。
https://stackoverflow.com/questions/60457595
复制相似问题