InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Charles Humble 译者 张龙 发布于 2009年9月8日

领域
架构 & 设计,
语言 & 开发
主题
编程 ,
Java
标签
Java SE

近日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<String>> anagrams = new HashMap<String, List<String>>();
    我们可以这样写:
    Map<String, List<String>> 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

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

即将发布的JDK 7 发表人 tam Aaron 发表于
Re: 即将发布的JDK 7 发表人 Zhao Jeffrey 发表于
Java的委员会模式挺不错的 发表人 Zhao Jeffrey 发表于
Re: Java的委员会模式挺不错的 发表人 张 龙 发表于
Re: Java的委员会模式挺不错的 发表人 张 龙 发表于
Re: Java的委员会模式挺不错的 发表人 Lu Jin 发表于
即将发布的JDK 7 发表人 Leung Arbow 发表于
什么时候thread可以stop 发表人 黄 海平 发表于
java也开始抄袭C# 发表人 218 spank 发表于
如果C#是在Borland诞生的 发表人 Shichao Liu 发表于
RE 发表人 yao lei 发表于
直接使用scala吧 发表人 wang metis 发表于
Re: 直接使用scala吧 发表人 Zhao Jeffrey 发表于
Re: 直接使用scala吧 发表人 Wang Jagger 发表于
  1. 返回顶部

    即将发布的JDK 7

    发表人 tam Aaron

    JDK 7看来真的不错,期待啊;这里怎么没有提到JKD7中增加的并行啊

  2. 返回顶部

    Re: 即将发布的JDK 7

    发表人 Zhao Jeffrey

    这里谈的是语言。

  3. 返回顶部

    Java的委员会模式挺不错的

    发表人 Zhao Jeffrey

    终于搞出一些稀奇古怪的东西,这个类型推演地真是不论不类……是怕被说是在模仿C#所以避嫌么?

    还有闭包,闭包,闭包……唉。

  4. 返回顶部

    Re: Java的委员会模式挺不错的

    发表人 张 龙

    我感觉很多东西都是在模仿C#或是曲线模仿,在翻译这篇新闻时我特意到那些proposal的链接站点看了看,比如那个ARM,形式上与C#的using差不太多:

    try (InputStream in = new FileInputStream(src);

    OutputStream out = new FileOutputStream(dest)) {

    byte[] buf = new byte[8192];

    int n;

    while ((n = in.read(buf)) >= 0)

    out.write(buf, 0, n);

    }
    只不过一下子能回收多个资源。

  5. 返回顶部

    Re: Java的委员会模式挺不错的

    发表人 张 龙

    还有第七条,在switch中使用String,其实早就该有了。

  6. 返回顶部

    Re: Java的委员会模式挺不错的

    发表人 Lu Jin

    个人认为Closure的实用价值在实际编程中是最应优先考虑的。当然,使用Java的匿名类可以部分模仿Closure;但是,只有Java从语法上支持了Closure,程序员和Java程序本身才能充分利用其带来的优雅和便利。

  7. 返回顶部

    即将发布的JDK 7

    发表人 Leung Arbow

    没closure,有个半吊子的type inference,无视...
    看来只有个性能有所提高的jvm可以用用了

  8. 返回顶部

    什么时候thread可以stop

    发表人 黄 海平

    有了这些特性的支持,线程的stop方法该解放了吧!

  9. 返回顶部

    java也开始抄袭C#

    发表人 218 spank

    O(∩_∩)O~
    java也开始抄袭C#了
    这社会好啊

    看来平台之争真是非匹夫之力而可为啊

  10. 返回顶部

    如果C#是在Borland诞生的

    发表人 Shichao Liu

    如果C#是在Borland诞生的, 想必所得到的反馈会积极得多. 单就技术讲, .net确实很优秀.

  11. 返回顶部

    RE

    发表人 yao lei

    抄来抄去 最后抄得所有语言看上去都一样

  12. 返回顶部

    直接使用scala吧

    发表人 wang metis

    还是使用scala吧

  13. 返回顶部

    Re: 直接使用scala吧

    发表人 Zhao Jeffrey

    我绝对支持这个。

  14. 返回顶部

    Re: 直接使用scala吧

    发表人 Wang Jagger

    赞成!

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。