???今天(其實是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還是最有前途的。