Lambda 底层实现分析

  1. 云栖社区>
  2. 博客>
  3. 正文

Lambda 底层实现分析

初商 2019-08-03 19:18:50 浏览369
展开阅读全文

原创声明:本文系作者原创,谢绝个人、媒体、公众号或网站未经授权转载,违者追究其法律责任。


前言

JDK8 引入了诸多特性,其中属 Lambda 最引入注目。在介绍本文主角之前,有必要先介绍 JDK7 (JSR-292) 引入的 3 个 features:

  • MethodHandle
  • invokedynamic
  • VM Anonymous Class

当前 JDK8 对 Lambda 表达式的解析方案便是依赖于以上特性,我们会依次介绍这三个 feature 及其产生的技术背景。

MethodHandle

MethodHandle 属于 JDK7 新加入的 java.lang.invoke 包,废话不说,我们先上代码看看他最简单的用法:

image.png

代码逻辑很简单,随机调用两个都实现了 println(Ljava/lang/String)V 方法的类,代码不需要关心

网友评论

登录后评论
0/500
评论
初商
+ 关注