今天(其实是10月6日上个星期三,抱歉拖了很长时间都没有写BLOG),SUN公司在武汉举办了SUN技术开放日活动,本人有幸参加。本以为通知函上说已经帮我预留位子可以不慌不忙了,哪知道到了现场才知道JAVA魅力超乎想像,我只能找个椅子坐边席了。 
   
   具体日程如下:

12月06日,全天,Sun 技术日
上午9:00 -- 下午5:00

09:00 -- 09:30, Open Source at Sun
09:30 -- 09:45, SCJP
09:45 -- 10:00, Break
10:00 -- 11:00, EJB 3.0 and Java Persistence
11:00 -- 12:00, Developing Applications on Solaris and Linux
12:00 -- 13:00, Free Lunch for All Attendees
13:00 -- 14:00, Building Java Web Services with the New JAX-WS 2.0
14:00 -- 15:00, Web 2.0 and AJAX
15:00 -- 15:15, Break
15:15 -- 16:45, Developing Java Applications with NetBeans 5.5
16:45 -- 17:00, Gift Distribution and Exit

        今天的开放日活动虽然说是针对企业的,但是整体的内容还是较为入门,貌似还是抱着对非专业JAVA人士的宣传目的进行的。到场的听众也如SUN公司估计的,能力层次不齐,比如在介绍SPARC技术的时候--当然提法是包装成很现代的 XXX Thread技术--有人不明白为什么现在的速度瓶颈是I/O处理上,特别是CPU对内存的速度差问题,从而不了解SPARC,也就是RISC(精简指令集)指令执行方式(重叠方式和流水线方式)和多路发射带来的优势。当然,这些都是计算机组成原理的问题了,实际上跟JAVA本身没有很大的关系,只是SUN公司的产品而已。所以,在这里就不拘泥细节和旁枝了,主要给大家介绍下跟JAVA相关的信息动态。



        首先,大会介绍了SUN的最新动态,这里介绍三个让我比较感兴趣的(就不重提SPARC了……)

Leader in RFID

        RFID(无线射频识别)的应用将回越来越受到重视。由于可以将任何物体,包括人,加上一个独一无二的微小标签,并且可以根据不同需要,在不同的距离范围内读取出来,这样就实现了物理世界和信息世界的资源整合。所以War-Mart能够通过卫星实时的追踪全球的物流情况;德国Metro可以实现超市无人快速自助付款……

Poineers Utility Computing
        也就是现在正流行的网格。网络就是计算机,网格的目的就是让计算机接上网络就能计算,就像是电器插上电源一样简单。总的说来具有以下特性:
Simple plug and play
Use when you want
Muti resource
        并且听参过与网格研究的学长说,网格这东西还就是只能用JAVA来写。看来实现这个远大目标的重任就完全压在JAVA身上了,真是光荣!

Smart Dust
       具体是哪一期我不记得了,我只模糊记得在2-3年前,科学美国人(Scientific American)杂志就刊登过微尘(Smart Dust)的理论。简单的说就是,在物理世界中掺入如同尘埃一样微小并且大量的探测器,进行实时的监控。例如,将Smart Dust混合在混凝土里,就能实时搜集到用这些混凝土盖成大楼的结构内部受力状态等信息等。现在实际运用的是美国LA的一片海域中放置了Smart Dust,来进行生态科学试验。


下面就进入到正题了



Solaris 10

        今天让我最意外的收获是让我了解了不少原本没有怎么关心的SOLARIS 10的信息,并且让我感觉到S 10真是一个强大的操作系统。


New Features  

   Evolution Net Performence
        较为前一个版本的SOLARIS 9,10版本最显著直观的改善是网络性能有了明显的提升。原来9版本的网络是基于流的技术,虽然使用灵活方便,但是十分消耗时间,SOLARIS 10改变了基于流的特性,在最这方面的改动相当大。

   Dtrace -Intrument every line in every App.
        Dtrace ( Data Trace )就象是给应用程序街上无数的探针(Probe)一样,时刻监视着应用程序的情况,并且实时的做出反应。只要你写一些脚本,整个系统将成为你应用程序的保姆,时刻监控,保护者你的应用正常的运转。

Security
        在安全方面,SOLARIS下足了功夫,例如在账户的管理上,开机重启的账号(一般是ROOT)可以不是整个系统最高权限的账号,充分考虑到了系统管理安全的方方面面。

        更值得一提的是Container的概念,类似分时系统是在时间层面上把操作系统化做不同的时间片断给不同的用户,让用户感受到自己在独占一个操作系统一样,Container是在空间层面上,把Solaris 10划分为多个小的容器,每个容器内装载不同的应用程序或者是操作系统,让其中的用户感觉自己是在独占整个操作系统。使用Container可以在硬盘分区、虚拟机、操作系统和应用程序四个层面上进行虚拟化(Visualization),并且在Solaris 10本身的操作体统层面上对每个Container进行监控和操作。也就是说,你完全可以在Solaris 10下装多个版本的Linux操作系统,并且不同的用户使用不同的版本,让用户完全感受到自己在使用一个完全独立的Linux。理论上Solaris 10下可以同时跑8000个应用,但是实际测试中是3000个,也已经非常惊人了!

在Container的帮助下,Solaris 10轻松的实现了以下特性:
Live Migration
End-to-end Data Integrity
Immense Data Capacity
Easier Admin
Huge Performence Gains


        在介绍完后,我咨询了在场资深的Solaris 10工程师关于Container下能不能跑Windows(要是在Solaris 10下同时跑上Unix Linux & Windows那不就爽歪了,哈哈),他说目前是不可能实现的了,不是SUN不想做,是MS不愿意。(预料之中)

        令人惊喜的是,如此优秀的Solaris 10是一个完全开源的操作系统,任何对Solaris 10感兴趣的人都可以加入到Solaris 10的开发社区来,贡献自己的一份力量! 详见 http://www.opensolaris.org


JDK 6
        JDK 6已经是RC版本了,据SUN工作人员说最迟在明年初发布正式版本。网上介绍JDK 6的文章应该超级多,开放日当天也只是将6的新特性再重复了以次,但是要注意的是,SUN公司官方取消了MUSTANG的说法,直接称之为JDK 6,原因是即将正式发布了,要注意避免使用他人注册名的问题。

主要新特性有
JSR 199(Java Compiler API 规范)  提供了Java编译器API
JSR 269(Pluggable Annotation Processing API) 提供了一个处理元数据注释的API
JSR 221 JSR223 JSR173 JSR222 JSR224 …… 大家自己在网上可以轻松的找到,或者直接上http://dev.java.net

另外,JDK 6还包含了一些小特性,如:
Free Disk File 轻松的查询硬盘剩余空间
Class Path 类路径查找
Improved Out of Memory Handling 对Out of Memory的Error可以进行捕获和操作了
Java Desktop Integration
Improved Jconsole


NetBeans
        
SUN公司强调NetBeans单独出现的时候,它表示的是一种平台。在介绍的时候,屏幕上展示了众多通过NetBeans平台开发的产品,他们有的是美国国防部的软件,有的是企业软件,但外表看起来都和NetBeans IDE差不多,毕竟大家都出自同一平台吗,使用的组件都是一样的。


         接着就是介绍NetBeans IDE了,完全是拿着Eclipse作为竞争对手一板一眼的对着干。可惜演示用的代码提示功能简直就是250级别的,是个IDE就应该有的功能。对我来说,一提起NetBeans IDE,那就是让人百感交集,又爱又恨啊。爱的原因是,NetBeans IDE本身就自带了SE和EE开发工具,相对来说占用资源较少;恨的原因是,其BUG不计其数,字体难看到家,代码提示性格古怪(可能是我用Eclipse多了吧)和愚蠢(这个是可以比较出来的),让一个程序员得花不少功夫去适应。但是,NetBeans IDE有几个插件是非常值得推荐得:

Profiler Package
        能对你得开发程序进行性能监视和分析,帮助你直观了解程序性能,和快速找到症结并优化。简直就象教科书里的线程调度时序示意图一样,让你清晰的看见所有线程在“赛跑”,以及其他资源的情况。



Visual Web Package
        不得不提出,这个插件包BUG是最多的,而且有些是毁灭性的(我有亲身经历),但是他实现了JSF的可视化开发,并且在BluePrint下,成功实现了MVC三者分离的目标。在这个插件包的帮助下,JSF的快速、分工开发变成了可能,为JSF成为下一代标准下了一又有分量的砝码。
注意,SUN工作人员提醒,由于Visual Web Package还只是Technology Preview版本(连个ALPHA都不是),如果要想实际开发的花,建议还是使用Creator比较靠得住(因为Visual Web Package就是在NetBeans IDE上Creator的移植)。


总体说来,这次SUN技术开放日的收获还是相当多的,让我了解了不少以前没有机会了解的内容,明确了JAVA未来的发展方向。JAVA还是最有前途的。