gpt4 book ai didi

java - 什么是 JVM 中的动态链接失败?

转载 作者:行者123 更新时间:2023-11-30 06:40:54 25 4
gpt4 key购买 nike

在 Oracle 的 Java 中 - Essential Classes Trail我发现以下说法:

Error Class

When a dynamic linking failure or other hard failure in the Java virtual machine occurs, the virtual machine throws an Error. [...]

Java 和 JVM 上下文中的动态链接失败到底意味着什么?这与类加载器在运行时可能遇到的问题有关吗?

最佳答案

在 Java 中,您可以动态加载 Class 对象,验证该 Class 及其实例是否与当前加载的类兼容的逻辑称为动态链接。

以下是您可能以 java.lang.LinkageError 形式获取链接失败的示例:

1)你有类和接口(interface)。您稍后可以修改该接口(interface)方法签名并使用该新接口(interface)启动 VM。现在,如果您动态尝试加载类,您将遇到链接失败,因为该类是使用旧版本的接口(interface)方法签名编译的,并且无法使用新的接口(interface)方法签名。

2) 您从类加载器 CL1 和 CL2 加载相同的类。然后,您从 CL1 加载的类创建对象 o1 并在 CL2 加载的代码中使用该对象。

关于java - 什么是 JVM 中的动态链接失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44398939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com