Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JVM中的动态链接故障是什么?_Java_Jvm - Fatal编程技术网

Java JVM中的动态链接故障是什么?

Java JVM中的动态链接故障是什么?,java,jvm,Java,Jvm,在Oracle的Java中,我发现了以下语句: 错误类别 当Java中的动态链接失败或其他硬故障时 虚拟机发生时,虚拟机抛出错误。[……] 在Java和JVM上下文中,动态链接失败到底意味着什么?这与类加载器在运行时可能遇到的问题有关吗?在Java中,可以动态加载类对象,验证该类及其实例是否与当前加载的类兼容的逻辑称为动态链接 以下是以java.lang.LinkageError的形式获取链接失败的示例: 1) 您有类和接口。稍后您将修改该接口方法签名,并使用该新接口启动VM。现在,如果您尝试动

在Oracle的Java中,我发现了以下语句:

错误类别

当Java中的动态链接失败或其他硬故障时 虚拟机发生时,虚拟机抛出错误。[……]


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

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

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

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


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

动态链接指的是将本机代码库引入JVM,以便通过JNI/JNA调用。对于Windows,这将是一个DLL。这描述了该进程失败。请查看及其“直接已知子类”。这些名称已经提示运行时可能出现的错误…