写点什么

Mark Mahieu 创建 CICE 闭包原型

  • 2008-01-24
  • 本文字数:656 字

    阅读完需:约 2 分钟

最近几年,关于 Java 的热门话题之一就是为 Java 语言添加完整的闭包支持。但是由于闭包可能引入的复杂性,在没有试验过不同提议原型实现的情况下,是很难评估闭包的全部影响的。

现在,加入 Neal Gafter 的 BGGA 提议的原型后,Mark Mahieu 已经开始合并由 Bob Lee、Doug Lea、和 Josh Bloch 合写的 CICE/ARM 提议的原型实现简易实例创建表达式(CICE)只提供了一个更紧凑的语法,通过一个抽象方法来实例化某个内部类的实例,比如Runnable、Callable 或者Comparator 等。自动资源管理(ARM)块支持闭包的一个主要用例:在一个块内使用资源的作用域,比如当你退出这个块的语句范围时,你会自动调用资源的close 方法。

Mahieu 的最初实现只限于作用域。而对于 CICE,单是表达式就实现了公有局部变量(public locla variables)和隐式 final 局部变量;但没有实现公有局部(public locals)和类型推论。ARM 块实现只支持 ARM 块的 do(){}格式,并且依赖 java.io.Closeable 作为一个初始点。正如 Mahieu 所提示到的和 ARM 规范文档的本身所述,由于存在许多类型——比如 java.sql.Connection、Statement 和 ResultSet 等原因,使用 Closeable 是存在问题的,它们会抛出其他的未受查异常,所以不能用来实现。

这个原型已经帮助生成了提议中的一些细节,它是 ARM 实现的一个更新的 build ,它改变了 do(){}格式的缺省语义来处理受查异常。

随着 Stephen Colebourne 对于 FCM 原型工作的展开,我们将会在明年看到这些提议的哪些方面能起作用,而哪些不能起作用。

查看英文原文: Mark Mahieu Creates CICE Closure Prototype

2008-01-24 07:36640
用户头像

发布了 127 篇内容, 共 43.2 次阅读, 收获喜欢 5 次。

关注

评论

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

跨国传输的常见问题与对应解决方案

镭速

跨国数据传输 跨国传输 跨国传输软件

外贸业务员必学的外贸推广方式

九凌网络

第24期 | GPTSecurity周报

云起无垠

ApeCoin DAO猿岛质押游戏系统DAPP开发

薇電13242772558

NFT

测试工作的价值体现

BY林子

软件测试 软件质量 测试的价值 绩效考核

文心一言 VS 讯飞星火 VS chatgpt (126)-- 算法导论11.1 1题

福大大架构师每日一题

福大大架构师每日一题

聊点技术|秒级根因定位可能吗?博睿数据将不可能变为可能

博睿数据

运维 监控 可观测性

什么样的网站才是利于google等搜索引擎优化的营销型网站

九凌网络

LeetCode题解:993. 二叉树的堂兄弟节点,BFS,JavaScript,详细注释

Lee Chen

LeetCode

初识inBuilder内存计算模块--业务数据同步

inBuilder低代码平台

数据库

软件测试/测试开发丨UbuntuServer环境准备

测试人

软件测试

低代码开发,或许是节约成本更好的选择

树上有只程序猿

软件开发 低代码

外贸建站优化外贸网站推广的四个技巧

九凌网络

亚洲专业美发行业领军企业汉高中国签约赛博威,以TPM营销费用管理推进企业业务数字化改革

赛博威科技

我应该删除低质量页面以提高Google排名吗?

九凌网络

今年秋招VS去年秋招!我滴娘啊

王磊

Java

语音识别技术在教育领域的应用与挑战

来自四九城儿

闭包解密:从小白到高手,掌握Python中的闭包技巧

高端章鱼哥

Python

After Effects 2024 for Mac(AE2024视频特效工具)v24.0.1完整激活版

mac

苹果mac Windows软件 视频特效软件 After Effects 2024 AE2024

可视化流程编排(Bpmn.js)介绍及实践

ZA技术社区

众安科技 众安保险 ZA技术社区 无界山

你不知道的ER图秘诀,都在这篇在线教程里了!

职场工具箱

ER图 实体-关系图

语音识别技术在智能门禁系统中的应用与设计

来自四九城儿

nebula-br local-store 模式,快速搭建主备集群实践

NebulaGraph

容灾备份

如何使用 NFTScan NFT API 在 BNB Chain 网络上开发 Web3 应用

NFT Research

NFT\ NFTScan API 接口

带你认识一下多模态对比语言图像预训练CLIP

华为云开发者联盟

人工智能 华为云 科技 华为云开发者联盟 多模态对比

接上回,如何用 LlamaIndex 搭建聊天机器人?

Zilliz

Milvus 向量数据库 ChatGPT LLM

TDengine 3.2.0.0 重磅发布!S3 存储 + IP 白名单正式上线

TDengine

tdengine 时序数据库

专业ER图工具大盘点,哪款是你的菜?

职场工具箱

ER图 设计数据库模型

Databend + lakeFS:将数据版本控制嵌入你的分析工作流

Databend

Mark Mahieu创建CICE闭包原型_Java_Charles Humble_InfoQ精选文章