助记符
1.invokeinterface:调用接口的方法,在运行期决定调用实现该接口的哪个对象的特定方法。(jdk 1.8 之间,接口中不能存在任何具体方法,1.8后可以引入 default 方法)
2.invokestatic:调用静态方法
3.invokespecial:调用自己的私有方法,构造方法(<init>),父类的方法(实例方法或者是构造方法)
4.invokevirtual:调用虚方法,运行期动态查找的过程(从 java 语言角度看,是不存在虚方法的,但是在 字节码角度,是存在虚方法的)
5.invokedynamic:动态调用方法(jdk 1.7 引入)
静态解析的四种情形:静态方法、父类方法、构造方法、私有方法。
以上四种方法称为非虚方法,在类加载阶段将符号引用转换为直接引用。