J2EE其實沒有四書五經,因為J2EE一直如洶涌澎湃的大江,推陳出新,不斷高速發展,這是一種帶領我們走向未來的技術。當然,如何在這種氣勢如虹的潮流之中不至于迷失方向,需要相關指南性書籍的引導。
線程(Thread)
首先,線程是很多J2EE初學者輕易忽視的一個基本知識,可以說,無論你是從java世界的哪一扇門進入J2EE的,線程是必經之道。
已經不記得在哪里看到過下面一段英文:
在過去,大概只有勇敢的程序員才勇于使用pthread和Win32線程,現代語言如Java正試圖在編寫一些令人懼怕的應用如并行計算等方面來拯救我們。
J2EE的Servlet和EJB確保我們不用擔心線程以及同步等問題,我們只要象往常一樣編程,容器自動會使用線程池等技術來支持我們的應用。
由此可見,線程是J2EE最基本的底層機制,每個Servlet/jsp程序其實是一段線程程序,假如你不懂得線程/多線程的一些原理,如何能嫻熟駕馭J2EE的Servlet/Jsp?
在線程計算方面有很多權威,Dou Lee無疑是這方面的杰出代表,他的并行計算包已經加入了最新的JDK1.5版本中,他的書籍都屬于奠基性質,但是,這樣書籍可能不是很適合只想對線程進行了解的J2EE初學者。
《Java線程編程》(Java Thread PRogramming)
是我推薦的第一本有關J2EE書籍,在這本書中,作者以簡單的例子,形象易懂地從單線程講解到多線程,線程池(Thread Pool)、并發同時訪問對象和變量(Concurrent access to Objects and Variables),這些都是我們在平時Servlet/Jsp編程中經常會發生迷惑的地方,在這本書的案例中,作者清楚明了地給我們展示這些細節而有重要的技術。同時,也讓我們深刻地理解了直接編制多線程應用是一件“令人懼怕”的事情。
很有意思的是,我在一家網上書店社區里也發現了與我有同樣見解的帖子,稱這本書是“一本讓經典成為過去的書”
設計模式
線程世界就象微生物世界一樣,復雜且幾乎沒有邊界,作為信息系統的程序員假如太執著于這樣純技術的微觀層面,可能浪費太多寶貴時間和精力,在基本把握多線程機制后,需要更加關注J2EE的設計應用了。
J2EE是Java世界中一個獨特的框架或標準,所以,我們首先需要把握基于Java的設計應用,這些設計應用技巧,是先行者經過長期實踐總結出來的心得,他們稱之為設計模式。在J2EE應用中,只有大量使用設計模式,才能體現出分離和解耦的最高宗旨,才能使得自己的J2EE系統脈絡清楚、層次分明,這樣的系統才真正具有良好的可伸縮性、穩固的健壯性以及方便的可維護性。
GoF 23種設計模式已經成為經典,2002年我在我的網站J道發表23種設計模式Java詳解時,竟然在中文Google里很難發現這方面的資料,這讓我萬分驚奇,也許國人確實是非常實在,只對算法、數據結構等這樣看得見、摸得著的概念感愛好,其實我一直反復和別人講:設計模式不是純抽象概念,它是實踐的總結,如同UML一樣,是一種交流和編碼實現的語言。
我在2002年幫朋友購買了GoF 23種設計模式的中文版:《設計模式:可復用面向對象軟件的基礎》,它是2000年12月第2次印刷的版本,這樣經典必讀書籍,8000冊在2年時間內都沒有銷售完畢,相比那些喧囂炒作的書籍,在出版幾個月內銷售過萬,越發顯得我們這個社會的浮躁和急功近利了。
當然,這本薄薄的書雖然由四個國人鼎力協助翻譯,想必他們也殫思竭慮,盡了最大努力了,可惜書中還是有很多翻譯欠妥之處,影響了它的銷量。
由于這本經典的GoF設計模式比較難懂,初學者更多應該是從實例應用中了解和把握GoF設計模式,相關提供實例應用的書籍有下面幾本:
Mark Grand的Patterns in Java系列;
美籍華人閻宏的《Java與模式》;
筆者的《Java實用系統開發指南》;
EJB
EJB是J2EE中一個重要組成部分,J2EE推薦將你的業務功能核心放在EJB中實現,EJB類似肯得基的“全家桶”,將實際中需要的基礎功能全都打包在一起了,假如你是個挑剔或個性化的客戶,我想你可能不會只滿足于“全家桶”。
新聞熱點
疑難解答