动态链接
栈帧里面的动态链接,相当于保存了:指向运行时常量池中该帧所属方法的引用,

invokevirtual 虚方法#7 getfield 属性 #2

constant pool 常量池

左边是符号引用,右边是真实的结构
方法就是#19 methodA:() 返回值是void #13是void 空参, 只要有void方法,都可以调用#13 #11表示int类型 这些在常量池中都能找到相关的引用


要用谁,直接取常量池取出即可 这就是动态链接

栈帧指向运行时常量池

栈里面就是一个个的栈帧 里面有方法返回值,局部变量表, 操作数栈,动态链接(指向运行时常量池当中方法的返回地址)
方法区中有类型信息,域信息,方法信息....运行时常量池(里面有字面量,类型引用,属性引用) 包括其他线程,只要指向他就复用
为很么需要常量池:



浙公网安备 33010602011771号