Java
- 分类
- 数据库
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 01:13
答案
所谓非虚方法就是当一个方法在编译期就确定了调用版本,且在运行时是不变的,这种方法称为非虚方法,例如私有方法、static方法、final修饰的方法和父类方法。除此之外都是虚方法。 在Java当中频繁使用到动态分派,而如果每次动态分配都到类的方法元数据当中去查找的话,效率就会很低,因此,java设计了虚方法表,用来记录类的虚方法,使用索引表来代替查找,方便调用。
相关题目(5)
怎么查看和分析堆内存?共源 1
Java
CPU 满了怎么排查?共源 1
并发Java
哪些情况会发生栈溢出?共源 1
Java JVM并发Java
常用的 JVM 排查工具有哪些?共源 1
Java JVM并发Java
JVM 什么时候启动?共源 1
Java JVMJava
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(JVM).md
knowledge_noteQuestion 15: 什么是虚方法和非虚方法?
Source answer: 所谓非虚方法就是当一个方法在编译期就确定了调用版本,且在运行时是不变的,这种方法称为非虚方法,例如私有方法、static方法、final修饰的方法和父类方法。除此之外都是虚方法。 在Java当中频繁使用到动态分派,而如果每次动态分配都到类的方法元数据当中去查找的话,效率就会很低,因此,java设计了虚方法表,用来记录类的虚方法,使用索引表来代替查找,方便调用。
Reviewed answer: 非虚方法是在编译期即可确定调用版本且运行时不变的方法,如private、static、final方法以及父类方法;其余通常为虚方法。为了提高虚方法调用效率,JVM会使用虚方法表。