Skip to content

Commit

Permalink
docs: update 01-jvm-memory-structure.md (doocs#33)
Browse files Browse the repository at this point in the history
  • Loading branch information
biubiue authored Oct 27, 2022
1 parent 64c3d1f commit ae2c81d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/01-jvm-memory-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Java 虚拟机栈的栈顶的栈帧是当前正在执行的活动栈,也就是
- 方法绑定
- 早期绑定:被调用的目标方法如果在编译期可知,且运行期保持不变。
- 晚期绑定:被调用的方法在编译期无法被确定,只能够在程序运行期根据实际的类型绑定相关的方法。
- 非虚方法:如果方法在编译期就确定了具体的调用版本,则这个版本在运行时是不可变的。这样的方法称为非虚方法静态方法,私有方法,final 方法,实例构造器,父类方法都是非虚方法,除了这些以外都是虚方法。
- 非虚方法:如果方法在编译期就确定了具体的调用版本,则这个版本在运行时是不可变的,这样的方法称为非虚方法静态方法。私有方法,final 方法,实例构造器,父类方法都是非虚方法,除了这些以外都是虚方法。
- 虚方法表:面向对象的编程中,会很频繁的使用动态分配,如果每次动态分配的过程都要重新在类的方法元数据中搜索合适的目标的话,就可能影响到执行效率,因此为了提高性能,JVM 采用在类的方法区建立一个虚方法表,使用索引表来代替查找。
- 每个类都有一个虚方法表,表中存放着各个方法的实际入口。
- 虚方法表会在类加载的链接阶段被创建,并开始初始化,类的变量初始值准备完成之后,JVM 会把该类的方法也初始化完毕。
Expand Down

0 comments on commit ae2c81d

Please sign in to comment.