JDK 7 M5包含了并发性和性能更新,但功能并不完整

Sun的JavaSE团队发布了JDK7的重要版本M5,引入了Coin项目的部分特性,改进了类型推断,支持二进制文字和Switch语句中的字符串。此外,更新了java.util.concurrent包,增加了JLayer组件,并扩展了椭圆曲线加密算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sun的Java SE团队最近发布了JDK7的第5个重要的版本M5。该版本包括了Coin项目大致一半的特性,由Doug Lea等更新了java.util.concurrent包,还包括其他一些增强特性。

        Coin项目的新特性有:

        1. 改善了泛型实例创建的类型推断,原来它对类实例创建的类型推断比较有限,因此必须显示声明构造函数的参数类型,但如果这些参数能从上下文推断出来的话,就可以用一个类型参数的空集合来代替。这样,对于如下代码:
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
你现在可以写为:
Map<String, List<String>> anagrams = new HashMap<>();

        2. 支持二进制文字,在数字中支持下划线分隔符帮助阅读——比如:long creditCardNumber = 1234_5678_9012_3456L

        3. 在Switch语句中支持String了。

        对于java.util.concurrent包的更新包括对Phasers、TransferQueues以及fork/join框架的支持。对这些已包含特性和那些还未确定包含的特性(如Fences API及ParallelArray),Alex Miller提供了一个非常好的总结。

        除此之外,Swing加了一个新组件——JLayer,用来美化复合的组件以及截获子组件事件。而且Sun还扩展了椭圆曲线加密算法(elliptic curve cryptography)的实现,进而覆盖到所有其提供了JRE的平台(以前只在Solaris上可用)。M5还包括了一系列性能相关的强化,比如一个新的更快的合并排序算法,它是Josh Bloch根据Python的“TimSort”改写而来的。在VM层,逃逸分析和把64位指针压缩为32位都是HotSpot VM默认支持的了,这样不仅降低了内存的消耗,而且提高了性能。

        还有很多其他的修改,完整的列表可以参看这里。

        原以为M5是Java 7第一个功能完备的版本,但实际上在某些方面还有差距。下表详细列出了M5包含的主要特性。

        vm         压缩的64位对象指针
                      G1垃圾收集器(Garbage First GC)
                      JSR 292:VM对非Java语言(动态调用)的支持

        lang      JSR 308:Java类型的注解 core 升级类加载器架构
                      关闭URLClassLoader的方法
                      Unicode 5.1
                      JSR 166y:并发性和集合的更新
                      JSR 203:更多针对Java平台的新I/O API(NIO.2)
                      SCTP(Stream Control Transmission Protocol——流控制传输协议)
                      SDP(Sockets Direct Protocol——套接字直连协议)
                      Elliptic-curve cryptography(ECC——椭圆曲线加密算法)

        client     向前兼容6u10部署特性
                       针对6u10图形特性的新平台API
                       Swing的Nimbus外观

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值