一个有着丰富的Java经验的开发者试用了一下Java SE 6 Beta,并且认为Java SE 6 有希望成为桌面开发的一次革命。
by Eric Bruno (Translated by Xu Ting)
刚刚发布的Java Standard Edition 6 (Java SE 6,也被称为Mustang)beta版完整的包括了预定的新特性,对于主流的应用来说,已经足够稳定。我在第一时间下载并尝试了这个新?动物?,并且被它全新的桌面特性所震撼。除了Java平台一贯以来的命名方式上的改变(去掉了2),它还包含了包含了很多值得探索一下的新特性。这些新特性可以分为两类:桌面和核心。
对于调试,Java平台的调试器(JPDA)已经提供了死锁诊测,并且可以为产生了死锁的对象生成堆栈信息。另外,Java SE 6允许在一个运行中的JVM上,添加不同的诊断工具。
应用程序管理
Java SE 6中对内存泄漏增强了分析以及诊断能力。当遇到 java.lang.OutOfMemory异常的时候,可以得到一个完整的堆栈信息,并且当堆已经满了的时候,会产生一个Log文件来记录这个致命错误。另外,JVM还添加了一个选项,允许你在堆满的时候运行脚本。(这也就是提供了另外一种方法来诊断错误)
Java SE 6 包含了一些支持Web Services的新API。XML 数字签名API,允许你为基于Java上的Web Services数据提供加密的可能。 Java-XML Web Services (JAX-WS)2.0API更新的以前称为JAX-RPC的API库。增强的Java- XML Binding (JAXB)2.0包含了对XMLSchema的支持,以及将某个Class绑定到一个Schema上去。最后, Streaming API for XML (STaX)提供了一个双向API,这个API可以通过一个事件流来读取或者写入XML,其中包括跳过某个部分,然后直接关注与文档中的另外一个小部分的能力。
安全
Java SE 6的安全部分,整合了GSS/Kerberos的操作API,LDAP上的JAAS认证,以及一个?请求安全认证?的框架,这个框架允许应用程序从一系列的协议中选择一种?请求安全认证?所用的协议。
桌面特性以及改进
Java 长久以来,一直被认为是一个一流的服务器端软件的语言,但是桌面GUI应用上只能是二流地位。 Sun的Java桌面工作小组正在努力改变这个现状。通过调用系统的GUI接口,来更好的显示Java 的GUI应用。他们的努力不仅改善了Java SE 6中的GUI性能,也改变了一些Java GUI应用程序的行为。(比如提供了DnD的支持)
Java SE 6中的桌面新特性,大部分 都来自于 JDesktop Integration Components(JDIC)项目。JDIC项目为Java的应用程序提供了访问OS底层本地桌面GUI 接口的方法,例如浏览器,Email编辑器,文件类型绑定,系统托盘,阴应用程序启动,打印等等。 下面是那些Java SE 6中最显著的一些桌面特性。
* 启动界面的支持。启动界面(Splash Screens)是一个应用程序启动的时候,用户等待的时候给用户看的界面。Java SE 6中的启动界面甚至可以在JVM启动之前显示出来。
* JFC以及Swing中的改进:
o Java SE 6通过调用Windows的API,不仅提高了 GUI的性能,也保证了在当前以及以后的Windows版本中的兼容
o 增强的布局管理包含了一个可定制的布局管理,另外还包含了一些使得GUI元素布局的时候更加简单的方法。
o Java SE 6中显著的增强了Swing控件的托拽功能,并且是可以定制的。
o 真正的双缓冲,提供了快速,平滑的图形效果。
* 系统托盘的支持。在java.awt包中,增加了SystemTray和TrayIcon两个类,它们允许你在Windows或者使用GNome 的 Linux的系统托盘区,添加图标,提示信息,弹出菜单。系统托盘区是所有的应用程序都共享的区域,通常在屏幕的右下角。通过系统的动作和事件可以允许你的Java应用程序去相应在托盘区的鼠标事件。我发现这个特性也同样对我的服务器程序非常有用,比如,我可以通过桌面API,非常轻松的启动一个浏览器,并且打开这个服务器程序的管理界面(当然,是HTML页面)。在Linux或者Window上,我再也不需要自己输入管理界面的URL和端口号了,只要简单的点击一下托盘图标就可以:)
* JTable支持打印了
* Java 2D方面增强了许多。 主要是在字符显示上,尤其在LCD的显示屏上。整合了许多字体反锯齿的设定来保证平滑的显示文字。
* 新的java.awt.Desktop包。Java SE 6中这个新的包目标是让Java 的GUI应用程序成为?一等公民?。有了这个包,Java的应用程序可以启动默认的浏览器和邮件客户端,并且整合了一些通用桌面应用程序的启动。例如启动OpenOffice,然后打开,编辑,打印一些制定的类型。Desktop包通过action事件来实现的,你可以将这些Action整合到你的应用程序中去。
* 国际化。Java SE 6提供了一些本地化特性的可扩充性,比如日期格式,Unicode文字的一致性,资源簇等等。
一场Java桌面革命
Java SE 6 提供了许多的特性,改进,bug修改等 (这些可以参考我的另外一篇翻译),本文旨在对Java这个即将到来的重要版本之前做一个历史的记录。 这个改动涉及到了Java SE如此多的方面,乃至几乎所有的Java应用程序都会被波及到,包括那些Java EE的应用程序。
Java SE 6有潜力成就一场桌面革命,就如同Java 2成就了一场服务器革命。最好是现在就为这场即将到来的风暴做好准备,让你自己成为革命的先锋人员。
Eric Bruno is a New York-based consultant who has built high-volume Web applications, database systems, and real-time transactional systems in Java and C++. Visit www.ericbruno.com for more about him.
Posted in Java Tech | No Comments »
New features in Java SE 6.0
Monday, March 6th, 2006
A few days ago, Sun just released Java SE 6.0 Beta. And I had viewed the release notes and some articles discussed the new features .
Here is a translation about the new features and enhancement list provided by Sun officially. And I had translated this to Chinese(Simplified Chinese.)
The original document is placed HERE.
Here is the translation.
#Thanks to Zou, he helped me review this translation.
#There are some features about the compiler and VM are remained as original, because I am short at this areas. If you have any suggestions, please leave your comments of send a mail to my mailbox: tonny.xugmail.com
TOTO.net braket
Just another WordPress weblog
Blog Technical Articles Photos Resume
Java SE 6.0(代号?Mustang")是即将面世的下一版本Java。相比较J2SE 5.0,添加了许多重要的特性和增强功能,这些新特性和增强功能如下面的列表。