JVM学习笔记13-静态解析和动态链接

1.静态解析

有些符号引用是在类加载阶段或是第一次使用时就会转换为直接引用,这种转换叫做静态解析
静态解析的四种情形:

  • 静态方法
  • 父类方法
  • 构造方法
  • 私有方法(无法被重写)

以上四种方法被称作非虚方法,他们是在类加载阶段就可以将符号引用转换为直接引用

2.动态链接

有些符号引用则是每次运行期间转化为直接引用,这种转换叫做动态链接.这体现为Java的多态性

3.相关字节码指令

  • invokeinterface—调用接口中的方法,实际上是在运行期决定的,决定到底调用实现该接口的那个对象的特定方法
  • invokestatic—调用静态方法
  • invokespecial—调用自己的私有方法,构造方法(以及父类的方法)
  • invokevirtual—调用虚方法,存在运行期动态查找的过程
  • invokedynamic—动态调用方法

你可能感兴趣的:(JVM)