時(shí)隔七年,Effective Java 2nd終于在5月底正式出版了(其實(shí)在JavaOne2008上已提前有售了)。此書(shū)絕對(duì)是Java程序員的bible,相信七年的等待是值得的,希望國(guó)內(nèi)的出版社早日引進(jìn)影印版吧(如果要出中文版的話,也請(qǐng)出版商們千萬(wàn)千萬(wàn)保證翻譯質(zhì)量!) 下面是樣章的下載鏈接,供Java粉絲們先睹為快。
樣張下載
Effective Java 2 -Charpter 5
摘要: Apache Derby 10.3.1.4 Release
閱讀全文
摘要: 由Google首席Java架構(gòu)師Joshua Bloch與Google工程師兼講師Neal Gafter親自講述,在Google公司中Java的應(yīng)用。
閱讀全文
摘要: 好消息!Effective Java 2nd Edition 將在今年的6月29日出版
閱讀全文
摘要: Eclipse小技巧之二巧用Typing配置快速智能輸入分號(hào)和花括號(hào)
閱讀全文
摘要: Eclipse小技巧之一Tab鍵的妙用
閱讀全文
下面純屬是個(gè)人的一些預(yù)測(cè)和展望,歡迎大家發(fā)表各自的看法。
1.Java是否還能持續(xù)輝煌?企業(yè)級(jí)市場(chǎng)(J2EE)?桌面應(yīng)用(Desktop application)? 手機(jī)或嵌入式設(shè)備?(J2ME)
Java應(yīng)該會(huì)保持目前的地位,企業(yè)級(jí)市場(chǎng)應(yīng)該不會(huì)有太大的變化,雖然其會(huì)受到.NET和LAMP的競(jìng)爭(zhēng)。對(duì)于桌面應(yīng)用來(lái)說(shuō)一向不是Java的強(qiáng)項(xiàng)。但也不是完全沒(méi)有機(jī)會(huì),
看看Eclipse,NetBeans,你就會(huì)明白Java同樣可以開(kāi)發(fā)出強(qiáng)大的Desktop application(Sun也在加強(qiáng)這方面,JDK1.6就是最好的證明)。而J2ME依然會(huì)是手機(jī)應(yīng)用上的霸主。
2. 正在開(kāi)發(fā)中的JDK 1.7是否會(huì)向1.5那樣加入眾多的新特性(New Features), 還是向“平庸”的1.6那樣停滯不前。 Java究竟是在變的越來(lái)越好用,還是越來(lái)越復(fù)雜.
Sun正在考慮要在1.7中加入的新特性主要有:對(duì)閉包的支持,對(duì)property的直接支持,對(duì)XML的語(yǔ)言級(jí)支持。Java社區(qū)中有很多人為此爭(zhēng)論不休,其中包括了一批大師級(jí)的人物。
個(gè)人認(rèn)為Sun還是應(yīng)該謹(jǐn)慎為上,畢竟開(kāi)發(fā)人員需要的簡(jiǎn)便好用,而不是要一些比較Cool的但復(fù)雜的(可能是可讀性比較低)的功能。
3. 對(duì)于2006年新發(fā)布的EJB3,究竟能否挽救EJB目前窘困的處境,再次點(diǎn)燃開(kāi)發(fā)人員對(duì)它的熱情,還是逐漸走向消亡。
雖然Spring現(xiàn)在是大紅大紫,但EJB3應(yīng)該會(huì)贏回一定的市場(chǎng)份額。畢竟現(xiàn)在的EJB是POJO化了,再加上Annotation和JPA,其開(kāi)發(fā)成本已大大降低。
2007年一些中間件的大廠商(BEA,IBM等)應(yīng)該會(huì)正式推出支持JEE5.0(這是J2EE的新官方名稱,如果你不喜歡也可以把它稱為J2EE 5.0或J2EE 1.5)的Application Server。
EJB3的前景如何讓市場(chǎng)來(lái)決定吧。
4. 目前從多的Web Framework究竟誰(shuí)會(huì)成為主流,JSF(MyFaces)? Struts2.0? Stript? Wicket(已被apache接受成為inbubator項(xiàng)目)? XX?
我比較看好JSF(最好的implementation是MyFaces, MyFaces包含了幾個(gè)子項(xiàng)目其中有Oracle的ADFace),因?yàn)樗K究是一個(gè)標(biāo)準(zhǔn)得到了大部分廠商的支持,經(jīng)過(guò)幾年的改進(jìn)和發(fā)展,
應(yīng)該會(huì)逐漸流行起來(lái)。
5. Hibernate是否會(huì)依然一支獨(dú)秀,還是會(huì)被JPA的推出所淡化。
個(gè)人看好JPA,原因:是標(biāo)準(zhǔn),眾多廠商支持(包括Hibernate),使用方便(結(jié)合Annotation),可以在EJB容器外使用(將來(lái)會(huì)成為一個(gè)獨(dú)立的JSR從而從EJB規(guī)范中分離出來(lái))。
6. Java IDE的三分天下的格局是否會(huì)改變?Eclipse會(huì)依然保持強(qiáng)勁的勢(shì)頭?IDEA會(huì)甘心被其打敗嗎?NetBeans會(huì)碌碌無(wú)為?其他的呢?(如,JDeveloper)
Eclipse應(yīng)該會(huì)是Java IDE的霸主。IDEA雖然很不錯(cuò),但畢竟是要收費(fèi)的,速度上也不敢恭維。NetBeans在集成化方面做的很好,但要需要大力改進(jìn)Editor和performance。
7 隨著Groovy 1.0的正式發(fā)布,Grails是否會(huì)向Ruby on rails那樣吸引眾多開(kāi)發(fā)者的眼球。
個(gè)人對(duì)Groovy很喜歡,因?yàn)楫吘拐Z(yǔ)法和Java類似,又可以直接調(diào)用已有的Java代碼(反過(guò)來(lái)一樣)。希望它可以一路走好,期待其能向Python一樣獨(dú)當(dāng)一面。
derby-10.2.1.6發(fā)布了.這個(gè)版本增加了不少的新功能,也fix了大量的bugs.具體的changlog可以訪問(wèn)下面的URL:
http://db.apache.org/derby/releases/release-10.2.1.6.cgi
其中在命令行模式下增加了兩個(gè)新命令挺實(shí)用的,第一時(shí)間試了一把,
1. show tables;
顯示所有的表的列表.
2. describe Table Name;
顯示指定表的結(jié)構(gòu)描述.
? 不論是國(guó)內(nèi)還是國(guó)外最近Ruby on rails(簡(jiǎn)稱ROR)好像非常的"火",一夜之間幾乎在所有的技術(shù)網(wǎng)站,blog上都可以看見(jiàn)相關(guān)的文章,有跟風(fēng)追捧的,有不屑一顧的.而國(guó)內(nèi)的一些出版社也瞅準(zhǔn)了機(jī)會(huì)準(zhǔn)備引進(jìn)相關(guān)的書(shū)籍.看上去Ruby on rails好像形式一片大好,大有取代Java,Net等成為開(kāi)發(fā)Web程序的首選工具之勢(shì).
? 可冷靜下來(lái),大家可以發(fā)現(xiàn)RoR有點(diǎn)雷聲大雨點(diǎn)小,其真正用于實(shí)際應(yīng)用的好像不多,特別是比較大的程序.例如企業(yè)級(jí)的開(kāi)發(fā).(當(dāng)然也許是我孤陋寡聞).新事物的誕生一定是有其原因的,RoR之所以有這么多人的熱捧,我想應(yīng)該是其相對(duì)于J2EE的快速簡(jiǎn)便的開(kāi)發(fā)能力.但任何事都是相對(duì)的,有優(yōu)點(diǎn)就一定會(huì)有其缺點(diǎn).比如說(shuō)企業(yè)級(jí)的開(kāi)發(fā)
可重用性和
可維護(hù)性是至關(guān)重要的,特別是做產(chǎn)品的.相信大部分的時(shí)間都會(huì)花在對(duì)現(xiàn)有產(chǎn)品的維護(hù)和擴(kuò)展上(真正開(kāi)發(fā)的時(shí)間可能只有三分之一或更少).而我想RoR在此方面肯定是不如J2EE的或Spring等大量使用Design Pattern的開(kāi)源軟件的.
? 另外RoR缺乏重量級(jí)的IDE的支持也是其一大硬傷,連簡(jiǎn)單的Code Assist都很少有IDE支持, 更別說(shuō)refactoring等高級(jí)的特性了.這也是其不能用于企業(yè)級(jí)開(kāi)發(fā)的原因之一.
? 所以我認(rèn)為RoR的優(yōu)勢(shì)應(yīng)該在于快速的開(kāi)發(fā)比較小規(guī)模的Web程序,但在企業(yè)級(jí)開(kāi)發(fā)的領(lǐng)域其很難有所作為,至少目前是如此.
? 現(xiàn)在開(kāi)始學(xué)習(xí)Java的程序員無(wú)疑是幸福的,因?yàn)樵谑袌?chǎng)有著太多的Java的好書(shū),其中不乏最新的技術(shù)和經(jīng)典的著作。光從引進(jìn)的數(shù)量和速度上比起五,六年前自是不可同日而語(yǔ),但如果從翻譯的質(zhì)量上來(lái)說(shuō)是參差不齊.有的基本體現(xiàn)了原著的風(fēng)貌,有的卻被翻譯的晦澀難懂。個(gè)人認(rèn)為翻譯技術(shù)書(shū)籍的譯者不能只有扎實(shí)的翻譯功底,還要對(duì)所翻譯書(shū)籍所涉及的技術(shù)有深刻的體會(huì),才能將書(shū)翻譯好??墒蔷邆溥@樣素質(zhì)的譯者可以說(shuō)是屈指可數(shù),比較有名的有候捷,熊節(jié)等等。(我個(gè)人比較喜歡熊節(jié)翻譯的,因?yàn)楫吘顾彩莻€(gè)Java程序員或者說(shuō)是個(gè)Java愛(ài)好者,所以他能把書(shū)中的“內(nèi)涵”翻譯出來(lái))??墒菄?guó)內(nèi)絕大多數(shù)的譯者要么翻譯的水平不高,要么就是不熟悉技術(shù),因此翻譯出來(lái)的書(shū)籍的質(zhì)量可想而知。有的出版社也是急功近利,也不太注重翻譯的質(zhì)量,只要是國(guó)內(nèi)流行什么就出什么書(shū)。搞得我們這些讀者每次買書(shū)前都要到相關(guān)的網(wǎng)站上看一下書(shū)評(píng),才能決定是否購(gòu)買。其實(shí)如果你出的書(shū)翻譯的質(zhì)量好,讀者也會(huì)心甘情愿的去買,書(shū)的銷量之然而然也會(huì)上去。最終也會(huì)實(shí)現(xiàn)出版商和讀者雙贏的局面。《代碼大全2》就是一個(gè)典型的例子,雖然書(shū)的價(jià)格比較貴,可由于翻譯的好又是經(jīng)典的巨著所以,據(jù)說(shuō)銷量相當(dāng)不錯(cuò)??墒沁@樣的好書(shū)畢竟是少只又少,總之真的希望國(guó)內(nèi)的出版社多為讀者考慮一下(其實(shí)也是為他們自已考慮,畢竟讀者是他們的衣食父母:)),千萬(wàn)保證翻譯的質(zhì)量,多出些好書(shū)。