
为什么需要常量池呢?
常量池的作用就是为了提供一些符号和常量,便于指令的识别。
将字节码反编译之后就可以看到一个constant pool 这就是常量池的所在地。。。。
在JVM中,将符号引用转换为调用方法的直接引用与方法的绑定机制相关。
静态链接:
当一个字节码文件被装载进JVM内部时,如果被调用的方法在编译器可知,且运行期保持不变时,这种情况下被调用的符号引用转换为直接引用的过程称之为静态链接。
动态链接:
如果被调用的方法在编译器无法被确定下来,也就是说,只能够在程序运行期将被调用方法的符号引用转化为直接引用,由于这种引用转换过程具备动态性,因此被称为动态链接。
