再探Java7:最新特性更新、代码示例及性能测试

如果说今年Java开发平台有什么大事儿,那就要数将于年底发布的Java 7了。之前曾报道过Java 7已经完成的七大新功能,包括新增的垃圾回收器G1、JVM动态语言支持以及模块化等等(更多关于Java 7的报道可以参考51CTO专题:Java 7,下一代Java开发技术详解)。进入2010年,Java 7有哪些新的进展?这些新的特性更新对我们有哪些好处?该如何使用?Java 7的性能如何?本文将给你答案。 这里的内容主要包括其最新更新、一些代码实例、跟以前版本的Java进行性能比较需要参考的一些基准、以及什么时候它才会发布等信息。

首先,让我们来看最重要的事情。为了确定JDK 7中有哪些语言方面的微小变化,有关人员建立了一个名叫Project Coin的项目。描述了最终的五个变化(比五个多一点)。

Java 7更新内容如下所示:

◆允许在swITch中使用字符串

◆自动资源管理

◆通用实例创建来改进类型推断(diamond)

◆简化的Varargs方法调用

◆更好的整型文字综合性建议

◆Collections集合的语言支持

◆JSR292的语言支持

在the OpenJDK 7特性页面中,你还可以看到其他的功能。

这些功能分为不同的种类:

◆虚拟机(VM)

◆压缩的64位对象指针

◆G1垃圾回收器GC(G1)

◆JSR 292:非Java语言的虚拟机支持(动态调用,InvokeDynamic)

语言方面(lang)

◆SR 294:模块化编程的语言以及虚拟机支持

◆JSR 308:Java类型注释

◆语言微小增强(我所谈论的Project Coin)

◆JSR TBD: Project Lambda

内核(core)

◆模块化(Jigsaw项目)

◆对类加载器的结构进行升级

◆关闭URLClassLoader的方法

◆Unicode 5.1标准

◆并行以及集合的升级(jsr166y)

◆JSR 203:Java平台(NIO.2)的更多新型I/O API

◆SCTP (流控制传输协议,Stream Control Transmission Protocol)

◆SDP (套接字直接协议,Sockets Direct Protocol)

◆椭圆曲线加密技术(ECC)

客户端(client)

◆Java 2D的XRender管道

◆转发端口6u10部署特性

◆为6u10图形功能创建新的平台API

◆Swing的Nimbus外观和感觉

◆Swing的JLayer元件

网络(web)

◆更新XML的栈

就像你所看到的,这涉及了很多东西。几个月前,我亲自尝试了新的Garbage Collector (GC),其性能表现给我留下了非常深刻的印象。不幸的是,JVM几个小时就会崩溃一次,所以这个产品不能使用JVM。虽然在Java 1.6中也可以使用这个GC,但也会出现同样的问题,经常会出现崩溃。

我想,这就是Java1.7增加新特性的原因。那么,现在我们最好去看一些代码实例。




Tags: 

延伸阅读

最新评论

发表评论