10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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:361013
用户头像

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

关注

评论

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

Django笔记三十四之分页操作

Hunter熊

Python django 分页

C语言编程—存储知识

芯动大师

三周年主题征文活动结果已出炉,快来看看有没有你

InfoQ写作社区官方

热门活动 三周年征文

菜单栏应用管理:Bartender 4 激活中文版

真大的脸盆

Mac Mac 软件 菜单栏管理工具 菜单栏软件

靠AI自动生成视频撸自媒体收益,月入5000+

派大星

ChatGPT4

非常实验——在SSH下通过终端浏览网页

吴脑的键客

浏览器 终端工具

深度学习基础入门篇[8]::计算机视觉与卷积神经网络、卷积模型CNN综述、池化讲解、CNN参数计算

汀丶人工智能

人工智能 深度学习 计算机视觉 池化 CNN网络

2023-05-21:给定一个字符串 s 和一个整数 k 。你可以从 s 的前 k 个字母中选择一个, 并把它加到字符串的末尾。 返回 在应用上述步骤的任意数量的移动后,字典上最小的字符串。 输入:s

福大大架构师每日一题

Go 算法 福大大

我出版了一本关于TikTok电商运营的书

博文视点Broadview

抠图党福音:教你一键分割图像

华为云开发者联盟

华为云 华为云开发者联盟 企业号 5 月 PK 榜 人工资高hi嗯呢该 分割图像

Ribbon默认负载均衡规则替换为NacosRule

越长大越悲伤

Spring Cloud

国内AI大模型 VS chatgpt (20)-- H265/H264有何不同,h265有什么优势?

福大大架构师每日一题

福大大 ChatGPT 文心一言

面试复盘:哈希冲突的常见解决方案?

javacn.site

使用 OpenAPI 构建 API 文档

江湖十年

golang Web 后端 swagger OpenAPI

HashTable 在蚂蚁转化归因中的极致运用

阿里云大数据AI技术

大数据 开发者 企业号 5 月 PK 榜

从热爱到深耕,在开发路上的他们勇敢逐梦

HarmonyOS SDK

HMS Core

为什么MySQL单表不能超过2000万行?

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

软件测试/测试开发丨Python基本数据类型之字符串

测试人

Python 软件测试 自动化测试 测试开发

2023语言与智能技术竞赛开辟“双赛道”:寻找“全民测评官”,探索AI多模态能力

飞桨PaddlePaddle

建造者模式:将对象的构建与表示分离,提高程序的可维护性和可扩展性

Jack

golang 设计模式

如何通过Makefile优化加速编译过程提高开发效率

小万哥

c++ 程序员 面试 后端 开发

From Java To Kotlin:空安全、扩展、函数、Lambda很详细,这次终于懂了

Seachal

Java android Lambda kotlin 函数式编程

如何列举测试点

FunTester

如何借助Kafka持久化存储K8S事件数据?

SEAL安全

kafka 云原生 k8s Seal软件 企业号 5 月 PK 榜

三周年连更活动结果已出炉,快来看看有没有你

InfoQ写作社区官方

热门活动 三周年连更

敏捷开发:新一代软件开发模式的优越性与挑战

xfgg

Java 架构 开发效率

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