心API中的功能或類
不懂得以下列表中的某些項(xiàng)(這只是一些主題或者實(shí)際例子而已):
垃圾收集器 (train, generational, incremental, synchronous, asynchronous)
對(duì)象在何時(shí)能被進(jìn)行垃圾收集 -- dangling references
使用的繼承機(jī)制及其權(quán)衡
over-riding和over-loading方法
為什么java.lang.String (在這里用你所中意的類代替) 提供的性能不好
Java中的pass-by參考語義和EJB中pass-by值的語義的比較
使用 == 或者使用equals() 方法 for nonprimitives
在不同平臺(tái)上Java線程的運(yùn)行順序方式(例如是否是搶先方式的)
新線程和本地線程的比較
Hotspot技術(shù)(以及為什么舊的性能調(diào)整技術(shù)降低了Hotspot 的優(yōu)化效果)
JIT,以及什么時(shí)候好的JIT變得不好(未安裝的JAVA編譯器,以及你的代碼運(yùn)行得剛夠良好)
API搜集
RMI
規(guī)避方案:
你需要不斷改進(jìn)Java方面的知識(shí),尤其是深入了解Java的優(yōu)勢和不足之處。Java的存在價(jià)值已經(jīng)遠(yuǎn)不止是一種語言,理解平臺(tái)(JDK及工具等)也是同樣重要的。具體地說,你應(yīng)該是經(jīng)過認(rèn)證的Java程序員,如果你不是的話,也許你有時(shí)會(huì)為還有那么多不知道的內(nèi)容而感到驚訝。另外,你可以加入Java的郵件列表。以前我曾加盟過的每一個(gè)公司都加入了這樣的郵件列表,從同行中學(xué)到技術(shù),這將是你最好的資源。
備注:
如果你或者你的團(tuán)隊(duì)中的成員不真正了解編程語言和平臺(tái),怎么還能保持成功的希望呢?強(qiáng)干的Java程序員之于EJB和J2EE,就象是鴨子之于水一樣。與此相反,比較弱的、沒有經(jīng)驗(yàn)的程序員只能開發(fā)出質(zhì)量低劣的J2EE應(yīng)用程序?! ?
描述: 沒有真正理解EJB
項(xiàng)目階段:
設(shè)計(jì)
影響階段:
開發(fā)、穩(wěn)定化
對(duì)系統(tǒng)的影響:
維護(hù)
癥狀:
EJB在第一次被調(diào)用后沒有再被使用到(尤其是stateless session bean)
沒有重復(fù)利用價(jià)值的EJB
不理解開發(fā)者要做什么,容器提供什么
EJB沒有依照規(guī)范定義(fire線程, 加載了本地庫,試圖執(zhí)行I/O,等等)
解決方案:
要改進(jìn)關(guān)于EJB方面的知識(shí),可以找一個(gè)周末來閱讀EJB規(guī)范 (1.1版有314頁),然后閱讀2.0規(guī)范(524頁!),這樣可以了解到1.1沒有定義到的而在2.0規(guī)范中補(bǔ)充的內(nèi)容。EJB開發(fā)者從18.1及18.2章節(jié)開始閱讀是比較合適的。
備注:
不要從提供商的角度去看EJB,要確切地知道規(guī)范所支持的標(biāo)準(zhǔn)EJB模型和基于這些模型的特殊應(yīng)用之間的區(qū)別。這也會(huì)有助于你遷移到別的提供商的時(shí)候所用。
描述: 沒有真正理解J2EE
項(xiàng)目階段:
設(shè)計(jì)
影響階段:
開發(fā)
對(duì)系統(tǒng)的影響:
維護(hù)、擴(kuò)展性、性能
癥狀:
"Everything is an EJB"的設(shè)計(jì)方式
用手工事務(wù)管理取代了容器-提供的機(jī)制
自定義方式的安全處理 -- J2EE平臺(tái)在企業(yè)級(jí)計(jì)算中,從表示邏輯到后臺(tái)處理,已具有最完整的集成安全架構(gòu);但很少用到其全