Sun Tech Days 2007 -- Preview
一年一度的Sun Tech Days又將開幕了,本文回顧了我前兩年參會的體驗,并分析了本次會議中我個人所感興趣的幾個主題。(2007.10.12最后更新)從上周三開始,本年度的Sun科技日(Sun Tech Days,STD)就開始接受報名了。官方網址:http://www.suntechdays.cn,優惠期截止到9月29日之前(我想應該就是到9月28日為止吧)。在優惠期內,單個人的會費是195元,和去年的會費一樣(Well,沒有隨社會物價的上漲而上漲 ^_^)。
今年,將是我連續第三年參加STD了。
2005年,當時還在武漢上大學(我本身也是湖北人)。那時學習Java不到1年,斷斷續續的,滿打滿算就11個月,學習也不努力,連門都沒入(在學校里自學,效率太低了) :-( 但不知道為什么,對Java/軟件開發非常感興趣,而對自己的本專業--通信,就是一點興趣都沒有(嗚嗚嗚,浪費了7年時間啊!)。2005年恰逢Java 10周年,從CSDN上看到要在北京舉辦JavaChina 2005(其實也就是STD)的消息,就報名參加了。對2005年的感覺就是,規模很大,北京主會場有4000多人,另外8個城市的分會場也有4000人左右。畢竟是Java 10周年嘛,其它年份的STD都達不到這個規模(當然,JavaOne的規模每年都會超過STD)。2005年時的我,對Java只是一知半解,在會議的眾多session中,我也不知道應該聽哪些主題,只是選擇了一些Java語言級方面的session去聽了。現在回想起來,也不知道當時聽到了些什么。當年的最大收獲就是和Java之父James Gosling有一張集體合影。哈哈,這難倒就是獲得Sun認證的最大好處嗎 *_* 因為我是在順便參加"Sun認證群英會"時有幸得到了這個機會。這次活動大大激勵了我學習和應用Java的熱情。
2006年,我剛剛畢業,目前一直在北京的一家電子商務類的公司工作。雖然在當時還沒有直接地參與Java項目的開發,不過項目都是和Java相關的(我當時做系統方面的工作),并且一直堅持對Java技術的學習。其實,我自感自己的Java基礎還是不錯的,2004年,通過"Sun認證Java程序員 SCJP"(88%得分率),2005年通過"Sun認證Java開發員 SCJD"(97%得分率),而且平常學習時很注重基礎知識。出于不斷學習Java技術的想法,我又參加了當年的STD。此時,畢竟有些經驗了,知道的東西也多了些,再聽STD,就會有自己的選擇了。我仍然對Java語言的基礎部分比較關注(Java 5的新特性,Java 6的新特性),另一個很關注的就是數據庫方面(Java DB)。Java DB的session,我認為是當年最好的。2006年的收獲確實不少,很多場景我現在還有很深的回憶。另外,發現在自己的英語水平又有提高了,這個收獲可能更大啊 @_@
今年,我已工作一年有余,有了一些實際的Java項目開發經驗,并且學到了更多的Java方面的知識,有了新的提高。關于今年的STD,其中有幾個session確實是我本人十分期待的,如關于:
Open JDK。Java是真的開源了,而不是"半"開源(javac、core API、...,all of them have "Full" Sources)。目前我們使用的Sun JDK,不能debug Java API(因為src.zip中的源文件與實際使用的rt.jar中的class文件無法完全對應上,它們不是"一脈同生"的。"Who"動的手腳,FT!),這讓我很多次的很、很、很不爽。Well,現在我們可以用OpenJDK了。OpenJDK就是Java,而不是Java的一個分支(Apache Harmony?),JDK 7的新特性將首先在Open JDK中實現。OpenJDK與Sun JDK的關系,就如OpenSolaris與Sun Solaris之間的關系。一個是開源社區主導的開源項目,另一個是Sun公司的產品。但Sun的產品(JDK,Solaris)是從開源項目(OpenJDK,OpenSolaris)中來的,只不過Sun在內部另外再做了一些測試。可能Sun產品的穩定性更強些,但差別應該很小,因為Sun這些產品的源代碼最終還是要放到相關的開源項目中。
Consumer JRE。當前的JDK/JRE太大了?Java程序的啟動(特別是冷啟動)太慢了?Consumer JRE很快就要來了。還有Java Kernel,它能像Linux Kernel那樣出眾嘛?
Java DB。我一向關注數據庫應用,去年聽了,今天還要聽。超級小(但比 新玩意兒(也許這次要換講師了?!)。
Swing。我個人(or,一個人?)最喜歡的Java"表現層"。"UI"可能是Java最弱的方面了。Web方面的表現層框架,用起來都不方便(和M$ .Net的WebForm差太遠了);由于Java的桌面應用不受多數人的關注,而且還受SWT的沖擊,Swing/AWT的應用面只能很小了。但我就是喜歡這種純Java的"表現層",它那如此優秀的組件化恐怕是其它Web表現層框架無法達到的(JSF的組件化是在模仿Swing)。在Java使用GPL v2協議開源之后,可以與Linux系統兼容(目前Ubuntu 7.0.4已默認安裝JRE 6),這為Java桌面應用提供了更多機會。
Concurrency。該主題是今年Java One的session之一。java.util.concurrent包是JDK 5的重要新特性。在JDK 5之前,大家在編寫Java多線程應用時,只能使用Thread,Runnable和wait,notify,notifyAll,...等少數幾個類/接口和方法。大量的工作都需要應用程序員自己去完成。現在有了concurrent包,相信會給大家提供更多的便利。該包目前受到大師們的廣泛重視。關于它,已經有了專題書籍"JAVA CONCURRENCY IN PRACTICE"(主要作者Brain Goetz是JSR 166--"Concurrency Utilities"的核心成員,合作者還包括Joshua Bloch這樣的Java Guru)和"Concurrent Programming in Java: Design Principles and Patterns"(作者Doug Lea是JSR 166和OpenJDK項目的領導,concurrent包的創始人);Bruce Eckel的"Think in Java 4th"有一章專門講它;Joshua Bloch在他的"Effective Java"第二版(尚未完成)中也將會為concurrent單辟一章。雖然在實際的工作中還沒有機會編寫多線程應用,但一直對它十分感興趣。早前在參加SCJD考試時,做的一個C/S應用就使用了多線程。但那時是使用JDK 1.4,沒能用到concurrent包。而且整個多線程機制也十分簡單:由RMI分派線程,自己寫一個Lock管理器,再加上同步。已經買了一本"JAVE CONCURRENCY IN PRACTICE"中文版,將會繼續研究多線程應用。
Garbage Collector。我不得不關注的Java Coding基本功,該主題也是今年JavaOne的session之一(看來世界上的Guru、牛X、高手們都是很重視基礎的,I love :-)。(如果有Exception Handle方面的session就好了,這也是Java的關鍵基礎之一)。
JSF。不得不說,我在Java Web表現層開發方面的"造詣"頗小。因為我認為Web表現層應用并不是純Java的(如前所述,我喜歡Swing的原因之一就是它的純Java性),做Web表現層開發,不是完全在做Java開發(JSP,JavaScript,HTML,CSS,...)。在主流的幾種Java Web表現層框架中,JSF也不是最常用的。不過,由于JCP把JSF作為Java EE 5規范的一部分,那么所有要兼容Java EE 5規范的應用服務器就必須提供自己的JSF實現。既然主流的應用服務器都已經(如WebLogic 10,Kingdee Apusic 4--關注一下國貨撒)或將要(如JBoss 5)默認提供JSF框架,那么我們也許可以想當然的認為,使用JSF的比率將來肯定會有所提升。大廠商們的這種做法,還真有點"霸權主義"、"強權政治"的意味。不過,公道自在人心,還是要相信群眾哦。
Java FX。M$ Silverlight的"殺手"?但我似乎沒必要去做那些炫目的RIA。
...
為STD打了一次廣告,但是免費的。個人認為多參加一些此類技術活動,對自己的技術發展是十分有利的。
在參加完今年的STD和Netbeans Day之后,我會為每一天的活動寫一篇隨筆,以飧眾友。
See you at Sun Tech Days 2007!
posted on 2007-10-30 16:28 John Jiang 閱讀(1800) 評論(14) 編輯 收藏 所屬分類: Others 、Java 、OpenWorld/JavaOne/SunTechDays 、原創