java 动态链接

preview:运行时数据区中由虚拟机栈,栈内部有多个线程,每个线程的基本结构是栈帧,栈帧和方法是对应的。

栈帧内部有:

  • 局部变量表
  • 操作数栈
  • 动态链接
  • 方法返回地址
  • 一些附加信息

在方法区里面有一个运行常量池,包含变量和方法,class文件所有的变量和引用作为符号引用,保存在class文件的常量池中。

描述一个方法调用了其他的方法的时候就是通过常量池中指向方法的符号引用来表示。那么动态连接的作用就是将这些符号引用转化成调用方法的直接引用

所以动态链接:将对方法的符号引用 链接成 对调用方法的直接引用

动态链接(虚方法)发生在运行时,静态链接发生在编译时(private\static\final)

重载是静态绑定

重写是动态绑定


版权声明:本文为yky__xukai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。