最近我切换到 Java 11 并开始调试我的应用程序并看到此消息:
OpenJDK 64 位服务器 VM 警告:仅引导加载程序类支持共享,因为已附加引导类路径
只找到了 这个 commit 和 ticket ,但它并没有告诉我太多。
我需要担心吗?
原文由 Dmitriy Dumanskiy 发布,翻译遵循 CC BY-SA 4.0 许可协议
最近我切换到 Java 11 并开始调试我的应用程序并看到此消息:
OpenJDK 64 位服务器 VM 警告:仅引导加载程序类支持共享,因为已附加引导类路径
只找到了 这个 commit 和 ticket ,但它并没有告诉我太多。
我需要担心吗?
原文由 Dmitriy Dumanskiy 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以忽略此警告。这只是意味着对于未由引导类加载器加载的类,类数据共享被禁用。
JVM 使用引导类加载器加载一些 JDK 类,使用系统类加载器加载其余类,但将所有这些类都包含在其默认存档中。当 IntelliJ 执行您的项目时,它通过附加到该类路径(消息的第二部分)告诉 JVM 使用引导类加载器加载一些代码。现在,这意味着包含由系统类加载器加载的类的存档部分可能无效,因此 JVM 部分停用共享(消息的第一部分)。
您可以使用 -Xshare:off
完全禁用类数据共享,但会损失一些性能。
原文由 Martin 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
在尝试将调试器与 IntelliJ IDEA 一起使用时,我在安装
jdk-12.0.1_windows-x64_bin.zip
后也遇到了这个问题。我收到错误消息( Java HotSpot™ 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended )。我也发现,进入设置并搜索异步并取消选中检测代理框。为我工作!