写点什么

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

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

关注

评论

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

佛萨奇Forsage系统开发,智能合约dapp技术

薇電13242772558

智能合约 dapp

eCharts -- 如何修改柱状图中相关数据的顺序?如何在鼠标悬浮时增加百分比信息?如何为柱状图设置分组?

Geek_de9857

柱状图 eCharts 修改数据顺序 百分比提示信息 设置分组

原创 | 使用JPA实现DDD持久化-O/R映射元数据-关联属性映射

编程道与术

Java hibernate 编程 mybatis jpa

去 DeepMind 面试是怎样一种体验?

故胤道长

人工智能 面试 谷歌Google 硅谷 移动开发

自从看了百度强推的“Spring源码笔记”我从渣渣成功逆袭成为钢铁侠!

比伯

Java 架构 程序人生 计算机 spring源码

Java程序员还没有掌握SpringBoot?这一份文档你真应该好好学学!

Java架构之路

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

原创 | 使用JPA实现DDD持久化-通过Spring Data JPA访问数据

编程道与术

Java hibernate 编程 mybatis jpa

【涂鸦物联网足迹】用煲仔饭来说明IaaS/PaaS/SaaS的区别

IoT云工坊

云计算 IaaS PaaS SaaS 云平台

一文详解激活函数

书豪

阿里Java研发第2面,都会问什么?斩获阿里P6+的“他”告诉你答案

Java架构之路

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

基于区块链的政务平台设计探索

华为云开发者联盟

区块链 架构 安全

架构师训练营第 1 期 -week13

习习

朱嘉明:产业周期、科技周期与金融周期的失衡

CECBC

金融 科技

Hive中,同时存在map、array、struct这三种格式,应如何在建表语句中指定分隔符?

Geek_de9857

hive struct map array 分隔符

JavaScript中,if判断未生效的一些特殊情况

Geek_de9857

js 1 if 0 不生效

原创 | 使用JPA实现DDD持久化-O/R映射元数据-值和关联的比较+继承映射

编程道与术

Java hibernate 编程 mybatis jpa

架构师训练营 1 期 -- 第十三周作业

曾彪彪

极客大学架构师训练营

Mysql中,1=1和 1=1=1 和 -1=-1 和 -1=-1=-1 和 5=5 和 5=5=5 有什么区别

Geek_de9857

MySQL sql 返回值 1=1=1 -1=1=1

终于有人把性能优化讲清楚了!阿里架构师推荐的Java性能权威指南可太强了

Java架构之路

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

一周信创舆情观察(12.7~12.13)

统小信uos

盘点 2020 | 感悟总结

idonkeyliu

盘点2020

第九周作业

Griffenliu

读《全球创新投资:经济大变局中的财富新机遇》

邓瑞恒Ryan

创业 读书笔记 企业 企业管理 产业竞争

架构师训练营第四周命题作业

Geek_xq

滴滴DoKit阶段性成果汇报之一机多控

工具 滴滴开源 DoKit

阿里云容器服务入选云原生边缘「领导力企业TOP3」,推动「原生云边」基础设施标准建立

阿里巴巴云原生

阿里云 容器 开发者 云原生 边缘计算

15年华为云视频架构师采访实录:揭秘未来音视频行业的科技趋势!

华为云开发者联盟

直播 视频 华为云

第九周学习总结

Griffenliu

原创 | 使用JPA实现DDD持久化-启动JPA程序+通过JPA原生API访问数据

编程道与术

Java hibernate 编程 mybatis jpa

原创 | 使用JPA实现DDD持久化-O/R映射元数据-值属性映射

编程道与术

Java hibernate 编程 mybatis jpa

阿里Java岗面试必备JVM指南:内存分配+垃圾回收+调优+类加载器等

Java架构之路

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

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