动态链接
- 每一个栈帧当中都包含以个指向运行时常量池重该栈帧所属方法的引用(invokedynamic指令)
- 在java源文件被编译到字节码文件中时,所有的变量和方法引用都作为符号引用保存在class文件的常量池里;
- 比如:描述一个方法调用的另外的其它方法时,就是通过常量池中指向该方法的符号引用来表示,那么动态链接的作用就是为了将这些符号引用转换为调用方法的直接引用。
将.class文件 javap -p 文件名.class 反编译后,如下图所示:
常量池的作用
提供一些符号常量,便于指令的识别。