什么是动态链接?

时间:2018-04-05 14:31:20

标签: java memory-management jvm

阅读JVM-8规范我试图理解动态链接实际上是什么。

  

2.6.3动态链接

     

每个帧(第2.6节)包含对运行时常量池的引用   (§2.5.5)用于支持动态链接的当前方法的类型   方法代码>>(1)<< 。方法的类文件代码是指方法   被调用和通过符号引用访问的变量>>(2)<< 。   动态链接将这些符号方法引用转换为   具体方法引用,根据需要加载类来解决   尚未定义的符号,并将变量访问转换为   与运行时相关的存储结构中的适当偏移量   这些变量的位置>>(3)<< 。这种方法的后期绑定和   变量在方法使用较少的其他类中进行更改   可能会破坏这段代码。

(1)“当前方法的类型是什么?”它是定义方法的类还是方法返回类型?

(2)“方法的类文件代码”这里指的是定义方法的.class文件,对吧?

(3).1 “动态链接转换这些符号......”我们可以说“动态链接”是将符号方法引用转换为具体方法引用,加载类的过程。等等?

(3).2 符号和具体方法引用之间究竟有什么区别,可能最好提一下方法在内存中的表示方式? (3).3 “解决尚未定义的符号”这些“尚未定义的符号”是什么?
(3).4 “将变量访问转换为适当的访问 与这些变量的运行时位置相关的存储结构中的偏移“我对这句话一无所知。

0 个答案:

没有答案