java 平台的第六个版本, standard edition (java se), 代号mustang, 发布了第二个beta版本.

今年年初mustang发布了第一个beta版本.掀开了java se 6 的神秘面纱.

这一次,是时隔4个月发布第二次beta版本.

java se 6 beta 2 (mustang) 有什么新东西? 有什么值得开发者关注?

简化web services
mustang 将 简化web services 的开发和发布. xml和web服务一直都是mustang的关注重点.. mustang为此引入了jax-ws(java architecture for xml-web services) 2.0 以及jaxb(java architecture for xml binding) 2.0.. 同时还有streaming api for xml (stax), 它提供了一个双向api,这个api可以通过一个事件流来读取或者写入xml,其中包括跳过某个部分,然后直接关注与文档中的另外一个小部分的能力。


scripting,整合脚本语言
目前来讲,java 开发者们必须在java之外独立地额外编码来使用n 脚本语言。这个头痛的问题将被mustang 消灭,开发者将更加轻松的使用perl、php、pyth 和ruby等脚本语言。新的框架将允许人们操作任意的脚本语言,和使用java 对象。

java se6中实现了jsr223。这是一个脚本框架,提供了让脚本语言来访问java内部的方法。你可以在运行的时候找到脚本引擎,然后调用这个引擎去执行脚本。这个脚本api允许你为脚本语言提供java支持。另外,web scripting framework允许脚本代码在任何的servlet容器(例如tomcat)中生成web内容。

database,绑定derby
开源嵌入式数据库 derby(javadb) 绑定在jdk 1.6中.具体可以参考:jdk 1.6 将绑定开源数据库 derby更丰富的desktop apis
mustang中拥有更多强的桌面api提供给开发者, 开发者可以更简单地开发更强大的桌面应用, 比如启动界面的支持,系统托盘的支持,jtable排序等等

监视和管理
java se 6卸阅诖嫘孤┰銮苛朔治鲆约罢锒夏芰α5庇龅絡ava.lang.outofmemory异常的时候,可以得到一个完整的堆栈信息,并且当堆已经满了的时候,会产生一个log文件来记录这个致命错误。另外,jvm还添加了一个选项,允许你在堆满的时候运行脚本。(这也就是提供了另外一种方法来诊断错误)

增强的jmx 监视api在mbean的属性值传入了一个特定的参数的时候,允许这个应用程序发送一个事件通告。(这里的属性值可以在很复杂的类型中)

对于solaris 10的用户,为solaris提供的hotspot jvm中,提供了一种通过solaris dtrace(这是个系统的调试工具)来追踪显示jvm内部的活动情况,包括垃圾收集,类装载,线程,锁等等。

pluggable annotati
从java se 5 带来得新特性annotations,将在mustang继续扮演重要角色..

compiler api:访问编译器
对于java开发工具, 或者web框架 等的开发者来说, 利用编译器编译动态生成的代码, 是一个普遍的需求.

mustang实现了jsr 199, 提供了java编译器api(应用程序接口),允许你从一个java应用程序中去编译其他的java源程序--比如在应用程序中动态生成的一些源代码..

security:安全性
java se 6的安全部分,增加了 xml-digital signature (xml-dsig) apis, 整合了gss/kerberos的操作api,ldap上的jaas认证。