美文网首页
方法调用指令

方法调用指令

作者: Shaw_Young | 来源:发表于2021-09-02 15:06 被阅读0次

    方法调用指令:invokevirtual、invokeinterface、invokespecial、invokestatic、invokedynamic

    以下5条指令用于方法调用:

    • invokevirtual指令用于调用对象的实例方法,根据对象的实际类型进行分派(虚方法分派),支持多态。这也是Java语言中最常见的方法分派方式
    • invokeinterface指令用于调用接口方法,它会在运行时搜索由特定对象所实现的这个接口方法,并找出适合的方法进行调用。
    • invokespecial指令用于调用一些需要特殊处理的实例方法,包括实例初始化方法(构造器)、私有方法和父类方法。这些方法都是静态类型绑定的,不会在调用时进行动态派发。
    • invokestatic指令用于调用命名类中的类方法(static方法)。这是静态绑定的。
    • invokedynamic:调用动态绑定的方法,这个是jdk 1.7后新加入的指令。用于在运行时动态解析出调用点限定符合所引用的方法,并执行该方法。前面4条调用指令的分派逻辑都固化在 java 虚拟机内部,而invokedynamic指令的分派逻辑是由用户所设定的引导方法决定的。

    梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。

    相关文章

      网友评论

          本文标题:方法调用指令

          本文链接:https://www.haomeiwen.com/subject/scbxwltx.html