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