【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

Project Coin 发布语言变化最终列表

  • 2009-09-08
  • 本文字数:1010 字

    阅读完需:约 3 分钟

近日 Joseph Darcy 发布了 Project Coin 的最终列表,宣布了即将发布的 JDK 7 中对 Java 语言所做的改进。这些改进是:

  1. 自动化的资源管理。提供一种处理资源回收的机制:类似于 C# using 声明的 ARM(Automatic Resource Management)块,但形式上却是基于 try 声明。这样,using 声明只能处理单一资源,而 ARM 却能在块的范围内处理多种资源。
  2. 更好的整型字面值。为数字增加二进制字面值以及下划线分隔符支持以增加可读性,例如:
    long creditCardNumber = 1234_5678_9012_3456L
    如果能及时找到解决方案还会提供对无符号字面值处理方式的改进。
  3. 集合字面值。通过类似于数组初始化器的语法为不变的list、set 以及map 字面值提供支持,同时还会为 list 与 map 的索引访问提供支持。
  4. 改进的用于泛型实例创建的类型推断。使用有限的类型推断进行类实例创建需要为构造方法显式声明参数化类型,然而这些类型却可以从上下文中推断出来,然后它们就会被一个空的类型参数集合替换掉。这样,相对于:
    Map<String, List> anagrams = new HashMap<String, List>();
    我们可以这样写:
    Map<String, List> anagrams = new HashMap<>();
  5. 对 JSR 292 的语言支持。包括 invokeDynamic 指令、方法句柄调用、某些不严格的约定以及外来的标识符。
  6. 简化的可变参数方法调用。当方法将可变参数与非具化的数组类型组合在一起时就会产生警告,现在将该警告由调用处转移到了方法声明处。
  7. 可以在 switch 语句中使用 String

以上大部分提案都将于今年 10 月底反映到 JDK 7 的 Mercurial 仓库中。

还有三个提案尚未最终发布,它们是:改进的Java 异常处理 Elvis 与其他 Null-Safe 操作符以及大数组
Joseph Darcy说到

“对于 Java 语言来说,改进的异常处理很值得我们期待,然而它对于类型系统来说是个风险,我们尚未评估是否有足够的资源以在 JDK 7 中实现该特性。我倒是期望能在未来重新考虑该特性以促进语言的不断发展。虽然 Elvis 与其他相关的操作符在 Groovy 中很有用,但由于 Groovy 与 Java 的差别,比如原生类型的存在以及与装箱 / 拆箱的交互使得这些操作符对 Java 意义不大了。JDK 7 将提供其他方式来简化空操作(null-handling)的烦恼,如 JSR 308 的空检查。毫无疑问,天生支持 32 位以上条目的集合一直是大家所梦寐以求的。对集合的语言支持会开发一个程序库来实现这一点,这样平台就可以直接处理大的数据结构了。”

查看英文原文: Project Coin Announces Final List of Small Language Changes

2009-09-08 01:231670
用户头像

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

关注

评论

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

助力秋招第二弹:Java并发编程知识梳理

北游学Java

Java 面试 秋招

强劲性能释放释放:联想消费新品笔记本震撼发布

E科讯

工业绿色发展可视化管理——高炉炼铁厂可视化系统

一只数据鲸鱼

数据可视化 工业物联网 智慧工厂 三维可视化 高炉炼铁

5G加油站,需要中频段

脑极体

农产品区块链溯源平台建设解决方案,健全食品安全体系

源中瑞-龙先生

区块链 溯源 食品安全

GitHub上下载量突破100000+阿里巴巴的这份开源项目如此牛逼

阿里巴巴 开源 编程 Java 25 周年

Python3 Note 浮点类型误差问题

awen

Python 浮点型 decimal

Flink的流数据SQL

五分钟学大数据

flink 5月日更

一文通关苦涩难懂的Java泛型

程序猿阿星

泛型 java基础 Java泛型

将模型转为NNIE框架支持的wk模型第一步:tensorflow->caffe

华为云开发者联盟

tensorflow caffe NNIE框架 wk模型 mxnet

5.29 相约杭州!云原生 Meetup 第二期杭州站报名开启!

青云技术社区

云原生

硬核出击,只为守护你的秘密!

亚马逊云科技 (Amazon Web Services)

膜拜!多次霸榜Github的springboot 实战派文档到底有多强?

Java 程序员 架构 面试

Python3 Note 如何合理使用assert

awen

Python assert

Docgeni,开箱即用的 Angular 组件文档工具

PingCode研发中心

开源 研发工具

PingCode 3.0 发布,开启国产研发自动化时代

PingCode

敏捷开发 研发管理 开发 研发工具 项目经理

原来,GitHub标星90K+的Leetcode刷题手册长这样

Java架构师迁哥

团队项目进度跟踪难?延期风险高?国内企服排行榜第一的通用项目管理工具在这里了

PingCode

进度条 PMP Certification 项目经理 项目管理工具

阿里云黄博远:AI工程化是发挥算法及数据价值的效能中枢

阿里云大数据AI技术

FIL矿池挖矿算力分发系统开发搭建

薇電13242772558

数字货币 算力

极狐GitLab 13.11功能回顾,含Kubernetes Agent和流水线合规性

极狐GitLab

系统运维 安全监控审计 #on-call #GitLab 极狐GitLabs

打造生态“朋友圈”,英特尔以生态之道培育AI创新“大气候”

E科讯

hive的DDL语法基本操作

大数据技术指南

hive 5月日更

SUSECON 2021首日重点新闻:SLES 15 SP3和SUSE Rancher 2.6全新发布

Rancher

太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)

Java 程序员 架构 面试

不同数据库模式下DATE类型的行为解析

华为云开发者联盟

MySQL oracle GaussDB(DWS) TD DATE类型

直播点播窄带高清之 JND 感知编码技术

网易云信

音视频 视频编码

看德威学校如何通过亚马逊云科技开启青少年AI探索之旅

亚马逊云科技 (Amazon Web Services)

打破固有思维(十九)

Changing Lin

Flutter 混合开发基础

网易云信

flutter 框架

5分钟速读之Rust权威指南(十)

wzx

rust

Project Coin发布语言变化最终列表_Java_Charles Humble_InfoQ精选文章