前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >获取lambda代理

获取lambda代理

作者头像
阿超
发布于 2022-12-18 09:25:31
发布于 2022-12-18 09:25:31
33900
代码可运行
举报
文章被收录于专栏:快乐阿超快乐阿超
运行总次数:0
代码可运行

伯乐不可欺以马,君子不可欺以人——荀子

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MethodHandles.Lookup lookup = MethodHandles.lookup();
        MethodHandle getR = lookup.findVirtual(B.class, "getR", MethodType.methodType(Object.class));
        SerFunc<Object, B> lambda = MethodHandleProxies.asInterfaceInstance(SerFunc.class, getR);

此处的lambda代理对象同样可以执行lambda对应的方法

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
获取lambda
重要的是这个函数java.lang.invoke.LambdaMetafactory#metafactory以及altMetafactory
阿超
2022/12/20
5200
更高效的反射调用方式被我找到了!
在使用Java进行开发时,我们会不可避免的使用到大量的反射操作,比如Spring Boot会在接收到HTTP请求时,利用反射Controller调用接口中的对应方法,或是Jackson框架使用反射来解析json中的数据给对应字段进行赋值,我们可以编写一个简单的JMH测试来评估一下通过反射调用来创建对象的性能,与直接调用对象构造方法之间的差距:
程序员波特
2024/03/21
3190
同事:Lambda都不懂,还写什么Java
今天的这篇文章比较长,也比较干货,刚接触指令的读者读起来可能会有点晦涩难懂,但是希望每一位读者能够沉下心来仔细阅读这篇文章,当你完全读懂这篇文章的时候,相信你对指令和Lambda的理解会更上一层楼。
shysh95
2021/02/25
4420
同事:Lambda都不懂,还写什么Java
JDK1.8下关于MethodHandle问题
最近在读《深入理解java虚拟机》第二版,在JDK1.8环境下遇到一个关于MethodHandle使用上的问题,在这里记录下。https://github.com/floor07/essential-jvm (github jvm的读书笔记) 本文目录如下: 引子 java.lang.invoke简介 关于引子书上的解法 JDK1.8为什么跟预想的不一致 引子 在《深入理解java虚拟机》第二版第8章,上提出了一个问题,简要描述如下: 在Son类中,调用GrandFather的thinking方法,打印
温安适
2018/05/17
1.5K0
Java 虚拟机:JVM是怎么实现invokedynamic的?(上)
这一天,先进分子牵着一头鹿进来,说要参加赛马。咱部里的老学究 Java 就不同意了呀,鹿又不是马,哪能参加赛马。
码农架构
2021/02/14
1.1K1
Java 虚拟机:JVM是怎么实现invokedynamic的?(上)
关于使用MethodHandle在子类中调用祖父类重写方法的探究
这里直接看Son类的thinking方法(关于为何这样实现,在《深入理解Java虚拟机》读书笔记(七)--虚拟机字节码执行引擎(下)中也解释了)。
Java架构师必看
2021/11/29
9.5K0
MethodHandle方法句柄使用分享
JDK1.7为间接调用方法提供了MethodHandle类,即方法句柄。是对之前JDK1.7之前反射性能不佳的优化手段之一 代码案例如下
每周聚焦
2024/09/18
640
MethodHandle方法句柄使用分享
Java Record 的一些思考 - 序列化相关
Record 在设计之初,就是为了找寻一种纯表示数据的类型载体。Java 的 class 现在经过不断的迭代做功能加法,用法已经非常复杂,各种语法糖,各种多态构造器,各种继承设计导致针对 Java 的序列化框架也做得非常复杂,要考虑的情况有很多很多。每次 Java 升级,如果对类结构有做改动或者加入了新特性,那么序列化框架就都需要改来兼容。这样会阻碍 Java 的发展,于是设计出了 Record 这个专门用来存储数据的类型。
干货满满张哈希
2022/01/13
9030
装逼利器,看完这篇,让只懂反射的同学仰视你
昨天我朋友小 B ,在公司写 if else 被鄙视了,咱今天就来学一个装 x 利器。
纯洁的微笑
2021/07/01
4910
装逼利器,看完这篇,让只懂反射的同学仰视你
Java 虚拟机:JVM是怎么实现invokedynamic的?(下)
上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖的方法句柄。
码农架构
2021/02/14
2.1K1
Java 虚拟机:JVM是怎么实现invokedynamic的?(下)
深入探究JVM之方法调用及Lambda表达式实现原理
在最开始讲解JVM内存结构的时候有简单分析过方法的执行原理——每一次方法调用都会生成一个栈帧并压入栈中,方法链的执行就是一个个栈帧弹出栈的过程,本篇就从字节码层面详细分析方法的调用细节。
夜勿语
2020/09/07
7310
方法引用(Method reference)和invokedynamic指令详细分析
invokedynamic是jvm指令集里面最复杂的一条。本文将详细分析invokedynamic指令是如何实现方法引用(Method reference)的。
racaljk
2019/02/25
9250
是时候在 Java 中使用方法句柄和变量句柄了,它的效果比反射要好
反射一直是 Java 高级中不可或缺的一部分。如今,它正被更新、更安全的方式所取代。本文将介绍如何使用方法句柄(MethodHandle)和变量句柄(VarHandle)以编程方式访问方法和字段。
前端修罗场
2024/12/22
1610
《深入理解Java虚拟机》读书笔记(七)–虚拟机字节码执行引擎(下)
动态类型语言的关键特征是它的类型检查的主体过程是在运行期而不是编译期,满足这个特征的语言有很多,比如JavaScript、Python等,相对的,在编译期就进行类型检查的语言(如C++/Java等)就是最常用的静态类型语言。
Java架构师必看
2021/11/29
2950
实战 Java 16 值类型 - 1. Record 的默认方法使用以及底层实现
在之前的 JEP 尝鲜系列中,我们介绍了 Java Project Valhalla 以及 Java 值类型,经过 Java 14,15,16 的不断开发优化反馈,终于 Java 16 我们迎来了 Java 值类型的最终版设计,可以正式在生产使用 Java 值类型相关 API 也就是 Record 这个类了。
干货满满张哈希
2021/04/14
2.1K0
Java Record 的一些思考 - 默认方法使用以及基于预编译生成相关字节码的底层实现
查看上面举得例子的字节码,有两种方式,一是通过 javap -v User.class 命令查看文字版的字节码,截取重要的字节码如下所示:
干货满满张哈希
2021/12/30
3510
Java Record 的一些思考 - 默认方法使用以及基于预编译生成相关字节码的底层实现
MethodHandle结合LambdaMetafactory-使用方法及性能测试
在进行实例的动态推断和构建时,我们会经常使用到反射这一技巧,然而在某些场景中反射的效率显得有些力不从心。从JDK7开始,MethodHandle被推出,用于解决反射的效率问题。在JDK8,MethodHandle又与Lambda进行深度结合,成为Lambda的最底层调用方式。在JDK9,MethodHandle又被进一步增强。 在开源项目中,Mybatis Mapper的动态代理实现则运用了MethodHandle。
benym
2023/02/14
2K0
报告,书里有个BUG!
是这样的,我在看《深入理解 JVM 虚拟机》(第三版)的时候发现一个有意思的 BUG。
why技术
2021/09/02
3730
实战 Java 16 值类型 Record - 1. Record 的默认方法使用以及基于预编译生成相关字节码的底层实现
在之前的 JEP 尝鲜系列中,我们介绍了 Java Project Valhalla 以及 Java 值类型,经过 Java 14,15,16 的不断开发优化反馈,终于 Java 16 我们迎来了 Java 值类型的最终版设计,可以正式在生产使用 Java 值类型相关 API 也就是 Record 这个类了。
干货满满张哈希
2021/04/19
2.6K0
实战 Java 16 值类型 Record - 1. Record 的默认方法使用以及基于预编译生成相关字节码的底层实现
反射太慢?那是你不会用LambdaMetafactory!
在之前的文章中,我们介绍使用Spring工具类ReflectionUtils通过缓存、避免创建临时对象的方式来优化反射的性能
菜菜的后端私房菜
2024/12/25
1940
推荐阅读
相关推荐
获取lambda
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验