Sunday, May 16, 2004

老贴整理3:J2SE 1.5版本的新特性一览

J2SE 1.5版本的新特性一览

到了2003的年末,J2SE1.5的beta版本就将发布了。这次发布和现在已经发布的J2SE1.4的两个更新1.4.1和1.4.2都如2003年的JavaOne大会预期的发布。如果你没有参加这次大会,或者想重新回顾一下,那么下面就是这次大会的简要内容。


J2SE 1.4.1 and 1.4.2 Releases

当1.4.1(开发代号?Hopper?)在2002年9月发布以及它的后续版本1.4.2(开发代号?Mantis?)在2003年1月如期发布的时候,已经修复了超过4000个的bug,并且还在继续的修复中。

在J2SE1.5的新特性中,将添加一些众人期待已久的功能,比如对Itenium CPU的完全支持;Swing的用户将看到两个全新的内建Look & Feels,一个是Windows XP风格,一个GTK风格;同时启动时间上也有改进。

在服务器端的增强主要包含了两个新增的GC,一个并行标记清扫算法(concurrent mark and sweep algorithm)和类似年轻空间收集(parallel young space collector)。这两个新的GC能通过编译的参数来调用:-XX:+UseConcMarkSweepGC 和 -XX:+UseParallelGC。

接下来,如何运用这些参数来调整系统的最佳性能就是我们在J2SE1.5中需要学习和理解的了。

J2SE 1.5 Release

J2SE 1.5(开发代号?Tiger?)是Java平台和语言上的一个重要修改,目前主要包括了15个JSR的请求和其他一些类似的更新。这次的Release主要关注于几个关键的主题:主要是品质,监视和管理,性能和可扩展性,轻松的开发以及桌面客户端。

Ease of Development(轻松的开发)

你可能已经听到过了关于减轻开发难度而做的Java语言上的修改。这次J2SE根据JSR的要求实现以下几个JSR:JSR 201 包含了4个修改;JSR 175的核心是支持元数据(metadata),而JSR 14则规范了泛型。

元数据功能提供了声明式的开发,并且取代了一些工具的代码生成和维护功能。泛型提升了无需手动转型(manual casting)的代码复用,通常manual casting都会带来类型安全性上的一些问题。

另外的四个修改分别是:

用for循环来遍历容器(Collection 类型),而不需要显式的声明容器的迭代器(Iterator); 
枚举类型提供了超越类似final static int的,增强的类型安全性; 
当在泛型中使用基本数据类型(Primitive Types)的时候提供自动装箱(autoboxing)功能(原来的泛型中是不能使用基本类型的); 
引入了静态常量(static constants)类改进显式的共享一个静态数据;
为了实现轻松的开发,除了语言上的修改之外,还有一些额外的东西,比如一些怀念printf函数的会发现它又回来了;一个新的并发工具(在JSR 166中提及)将使得多线程编程变的更加简单轻松。


Scalability and Performance(可扩展性和性能))


J2SE 1.5版本将承诺改进可扩展性和性能,尤其是在启动时间和内存印记(memory footprint)上,将使得用户能以最快的速度发布一个应用程序。从JSR 163上将实现内建的性能工程(Performance ergonomics)和个功能强劲的API profile工具。


Monitoring and Manageability(监视和管理))


监视和管理是Tiger中的一个主要特性。那些在J2EE平台上使用JMX的开发者将非常开心的看到这样的特性能在J2SE中实现。通过对JVM的监视,将允许对已发布的应用程序健康性的完全检查,包括对底层内存泄漏检测,错误处理甚至是API 堆栈跟踪(stack trace)的监视。


Core XML Support(核心的XML支持))


J2SE 1.5的介绍被修改为XML的核心平台,表示Java的核心API将包括了XML1.1,SAX 2.0和DOM Level3。Web service方面的API,JAX-RPC,和JAXB将继续出现在Web Service的包中,在以后的新版本中这些API将被添加到核心API中去。


Desktop Client(桌面客户端))


最后一个重点的新特性是桌面客户端。这将带来几个内建的新的Look & Feels支持,并且增强了对皮肤(skins)的支持。除了启动速度和内存印记的增强,桌面开发者又多了几个值得期待的新特性。


Unicode 3.1 Support(对Unicode 3.1的支持))


32位的代理字符(surrogate character)支持将会很谨慎的添加到新的版本中,所以1.5版本将仍然使用16位的char类型。


New IO Support(新的IO支持))


新版本将提供对异步IO的支持,并且支持在平台中适当的地方开拓更深入的使用这些API。


有了J2SE 1.4.2和J2SE1.5,Java的开发者们将拥有一个激动人心的一年。

flyingbug 发表于 >2003-10-3 0:27:24

No comments:

Post a Comment