【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

Mark Reinhold 谈 Java 闭包

  • 2009-11-25
  • 本文字数:839 字

    阅读完需:约 3 分钟

在近日召开的 Devoxx 大会上爆出消息: Sun 将在 Java 中增加闭包,紧跟着 Mark Reinhold 发表了一篇博文揭示了该决定背后的一些内幕。

Java 闭包的主要应用场景在于并行编程。Reinhold 说使用类似于并行数组这样的工具需要太多的 Java 样板代码,如果将闭包引入到语言中则可以减少样板代码的数量。他继续说到:

在过去几年中有 3 个提案都涉及到为 Java 增加闭包,他们分别是:BGGA、CICE 和 FCM。这些提案都涵盖了广泛的复杂性及强大的功能。在深入理解这些提案后,我觉得每个提案的想法都很棒但没有一个完全适合于“可以使用的程序员语言”这一着眼点。 要想支持并行编程,我们只需要两个主要的特性即可:

  • 编写闭包的语法。
  • 函数类型,这样闭包就会成为类型系统中的一等公民。

要想将闭包与语言和平台的其他部分集成起来我们还需要另两个特性:

  • 闭包变换,这样恰当类型的闭包就能用在需要单方法接口或是抽象类对象的地方。
  • 扩展方法,这样面向闭包的大数据量方法就可以经过翻新应用到现有的程序库中,尤其是集合框架而不会破坏兼容性。

Java 饱受诟病的一点就是缓慢的发展速度。但有时这种批评显得太过火了(比方说从 C++ 上次更新到现在的时间内 Java 已经发布 4 个主要版本了)。假如能够以一种不会直接影响语言的方式对 Java 进行试验,那么这种方式就是积极的。在此前的文章中,我探索了 3 种不同的技术来实现这一点,他们分别是 DSL、Java 6 的注解处理器以及为语言和 IDE 增加语法糖,虽然每种技术都很棒,但我们发现他们在闭包支持上都无法摆脱固有的限制。Sun 的解决方案是在决定是否将该特性作为 Java SE 的标准前利用 JDK 7 项目本身进行试验。Reinhold 说到:

如前所述,Sun 将开始设计并实现简单闭包并将其增加到 JDK 7 中以进行更广泛的试验。如果一切顺利,我们将提交一份语言变化 JSR 并将其作为最终 Java SE 7 JSR 的一个组件。

Sun 很渴望“每个人都能参与到早期闭包的讨论中,有人能提出自己的观点”,同时一个设想的提案也将于不久后发布。

查看英文原文: Mark Reinhold on Closures for Java

2009-11-25 10:441689
用户头像

发布了 88 篇内容, 共 257.7 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

掌上警务,二维码一键报警定位系统

t13823115967

二维码定位报警系统开发

python 技术面试没过,居然是没有用 pytest 测试框架

和牛

Python 测试 测试框架 pytest

架构师第7周作业

Geek_xq

溯源反制之MySQL蜜罐研究

Java架构师迁哥

在onelogin中使用OpenId Connect Implicit Flow

程序那些事

权限系统 程序那些事 openid 权限架构 onelogin

甲方日常 81

句子

随笔杂谈

大数据指标分析思考

Andy

Openresty协程调度对比Go协程调度

行如风

高并发 协程 openresty Go scheduler

如何通过NGINX的log日志来分析网站的访问情况,试试这些命令

我爱娃哈哈😍

nginx Shell

数据库表数据量大读写缓慢如何优化(1)【冷热分离】

我爱娃哈哈😍

大数据 架构 海量数据库的设计与实践 优化 数据库优化

CSS05 - 常用的高级选择器

Mr.Cactus

html/css

天天CRUD,被领导怼,我是如何从小公司菜鸡到阿里P8架构师?,首次分享Java程序员黄金五年进阶心得

Java架构之路

Java 程序员 架构 面试 编程语言

深入理解Nginx的四级指针

赖猫

c++ nginx Linux

CSS08 - CSS特性

Mr.Cactus

html/css

惊艳!阿里人用29篇讲明白了多线程与高并发+设计模式,惊呆了!

996小迁

Java 面试 设计模式 多线程 高并发

一文汇总数据库基础知识点!(建议收藏)

Java鱼仔

2021 第七季 28天写作训练 测试

将军-技术演讲力教练

2020年无人场景市场趋势洞察

IoT云工坊

人工智能 物联网 智慧照明 节能管理 安防报警

甲方日常 82

句子

随笔杂谈

四万字干货 | 《高博士区块链观察18讲》文字稿,带你系统了解区块链

CECBC

区块链

量子通信触达消费者

CECBC

量子通信

智慧城市智能化建设,平安社区平台建设综合解决方案

t13823115967

智慧城市

架构师训练营大作业(一)

我是谁

架构师训练营第 1 期

吴桐/数字化的下一个十年,你可能不会更幸福

CECBC

数字化时代

CSS07 - 伪类

Mr.Cactus

html/css

测开之函数进阶· 第8篇《多个装饰器装饰同一个函数,三个内置的装饰器》

清菡软件测试

测试开发

大数据应用及其价值

Andy

系统高可用分析

Andy

架构师训练营W12作业

Geek_f06ede

阿里巴巴Java架构师70W年薪招聘需求,已拿Offer经验分享

Java架构追梦

Java 学习 阿里巴巴 架构 面试

CSS06 - 标签的显示模式与转换

Mr.Cactus

html/css

Mark Reinhold谈Java闭包_Java_Charles Humble_InfoQ精选文章