8.4 JVM如何执行方法调用
目录介绍
- 01.方法调用是什么
- 02.动态类型语言支持
- 03.深入理解栈桢
01.方法调用是什么
- 方法调用不是方法执行,方法调用是让jvm确定调用哪个方法,所以,程序运行时的它是最普遍、最频繁的操作。jvm需要在类加载期间甚至运行期间才能确定方法的直接引用。
1.1 解析
- 所有方法在Class文件都是一个常量池中的符号引用,类加载的解析阶段会将其转换成直接引用,这种解析的前提是:要保证这个方法在运行期是不可变的。这类方法的调用称为解析。jvm提供了5条方法调用字节码指令:
- invokestatic:调用静态方法
- invokespecial:调用构造器方法、私有方法和父类方法