首页 > 编程语言 >Java 之 invokedynamic

Java 之 invokedynamic

时间:2023-02-14 15:56:20浏览次数:47  
标签:Java invokedynamic -- Part 292 method

简述

Add a new bytecode, invokedynamic, that supports efficient and flexible execution of method invocations in the absence of static type information.

-- JSR 292 - Description

 

First let us describe invokedynamic. It is a 5-byte instruction similar to invokeinterface, but it has no built-in scope, receiver, or dispatch behavior. 

-- Bytecodes meet Combinators: invokedynamic on the JVM

调用

Part 1. method handles

Part 2. Method handles can be constructed, combined, and invoked in all kinds of useful patterns.

Part 3: a bootstrap method (BSM)

-- 200910-BcsMeetCmbs

参考

  1. <https://www.baeldung.com/java-invoke-dynamic>
  2. JSR 292 -<https://jcp.org/en/jsr/detail?id=292>
  3. <https://www.infoq.com/news/2008/05/jsr_292_edr/>
  4. <http://blog.headius.com/2008/09/first-taste-of-invokedynamic.html>
  5. <https://cr.openjdk.java.net/~jrose/pres/200910-BcsMeetCmbs.pdf>

更多

  1. [OpenJDK] Project proposal: Multi-Language VM
  2. http://cr.openjdk.java.net/~briangoetz/lambda/lambda-translation.html
  3. Java 8 的 Lambda 表达式为什么要基于 invokedynamic? - RednaxelaFX
  4. 关于OpenJDK对Java 8 lambda表达式的运行时实现的查看方式 - RednaxelaFX​

标签:Java,invokedynamic,--,Part,292,method
From: https://www.cnblogs.com/UPeRVv/p/17114552.html

相关文章

  • JAVA和Spring的SPI机制讲解
    目录1SPI机制讲解1.1引言1.2JavaSPI实现1.2.1示例说明1.2.2相关测试1.2.3源码分析1.3SpringSPI1.3.1Spring示例1.3.2相关测试类1.3.3源码分析1SPI机制讲解......
  • JavaScript对象属性的特性高级功能
    “usestrict”/创建一个对象最简单的方式:创建一个Object的实例,然后再为它添加属性和方法/varperson=newObject();person.name=“Hongbin”;person.age=21;per......
  • java连接数据库实现增删改查功能
    packagecom.atguigu.api.preparedstatement;importorg.junit.Test;importjava.sql.*;importjava.util.Scanner;publicclassPreparedStatement_CRUD_Test{//TODO......
  • 学好Java开发的关键7步
    1、多动手学编程语言不仅仅是从理论上的学习,更重要的是要利用这门语言为你的思想服务。理解这门语言是首要的,但是要达到心领神会、融会贯通就必须勤动手,多去时间,多编一......
  • Java 数组中紧跟 key 之后出现最频繁的数字
    数组中紧跟key之后出现最频繁的数字说明给你一个下标从0开始的整数数组nums,同时给你一个整数key,它在nums出现过。​统计在nums数组中紧跟着key后面出现的......
  • 三十分钟入门基础Go(Java小子版)
    作者:京东科技韩国凯前言Go语言定义​​Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态、强类型、编译型语言。Go语言语法与C相近......
  • Java练习题——选择
       单选题:分析如下语句System.out.println(“OnlyIntergerispermitted!”);intx=newScanner(System.in).nextInt();如果输入像@xy'这样......
  • Java中通过jdbc连接MySQL数据库的代码封装-简历版本【杭州多测师_王sir】【杭州多测师
    本次封装类分为两大块:db.properties(配置文件),JDBCUtil类(初始化,连接,关闭)。 db.properties配置文件driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:33......
  • 三十分钟入门基础Go(Java小子版)
    作者:京东科技韩国凯前言Go语言定义Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态、强类型、编译型语言。Go语言语法与C相近......
  • Java中如何打印对象内存地址?
    先看一个简单的程序,一般我们打印对象,大部分是下面的情况,可能会重写下toString()方法publicstaticvoidmain(String[]args){ Frolanfrolan=newFrol......