动态链接

 

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

 

invokevirtual 虚方法#7   getfield 属性 #2

 

 

constant pool 常量池

 

 

 左边是符号引用,右边是真实的结构 

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

 

        

 

 

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

 

 栈帧指向运行时常量池

 

栈里面就是一个个的栈帧  里面有方法返回值,局部变量表, 操作数栈,动态链接(指向运行时常量池当中方法的返回地址)

方法区中有类型信息,域信息,方法信息....运行时常量池(里面有字面量,类型引用,属性引用) 包括其他线程,只要指向他就复用

为很么需要常量池:

 

 

 

posted @ 2021-10-19 16:47  lamda表达式先驱  阅读(133)  评论(0)    收藏  举报