學(xué)習(xí)Java開源框架前你應(yīng)該了解的
不要上來就學(xué)Struts/WebWork/Spring/Hibernate/iBATIS等等框架,先了解一下下面一些技術(shù),對于學(xué)習(xí)框架來說是十分重要的。
一是Java的反射機(jī)制和自省機(jī)制。大部分框架都用到這兩種機(jī)制,因?yàn)樗鼈兌家獙?shí)現(xiàn)通過配置文件自動完成類的識別和加載,所以必須要使用反射和自省。尤其是自省機(jī)制,對于大家了解JSP中的一些知識也是很有幫助的。比如,如果在EL中使用
${user.name}
那么,user這個對象中如果沒有name這個屬性行不行?
還有,是不是Java私有的成員就一定不能訪問?
二是設(shè)計模式。GOF的23種模式很重要,這已經(jīng)不用再多說了。每一種框架都用到了數(shù)種設(shè)計模式,如果你不懂設(shè)計模式,它們的源代碼很難看懂。比如,JUnit中就用到好多種設(shè)計模式,畢竟是Gamma做的。包括Composite、Command、Decorator等等。
三是代理機(jī)制。代理對于實(shí)現(xiàn)一些附加功能非常有幫助,在Hibernate中大量地使用到了代理機(jī)制。代理機(jī)制有兩種,一是Java內(nèi)置的Proxy,二是CGLIB框架提供的代理。倒不用全懂,但至少得知道代理是個什么意思。要不即使你會用了,也不會理解它們是如何實(shí)現(xiàn)的。
四是XML。一定要會寫,對于他的解析,能夠了解最好了。兩種方法,DOM和SAX;兩種框架dom4j、digister等等
我覺得最重要的是基礎(chǔ)知識一定要好.我推薦看java編程思想這本書,很多公司筆試的java方面的題目出自這本書.另外JSP,SERVLET,JDBC一定要有所了解,這個能說明你在大學(xué)的時候?qū)嵙?xí)過,做過一些小項(xiàng)目的.HIBERNATE,STRUTS,SPRING這些東西我不推薦你去學(xué)習(xí),我覺得你應(yīng)該學(xué)習(xí)如何處理異常,學(xué)會用JDBC訪問數(shù)據(jù)庫,學(xué)會如何釋放資源,如何控制數(shù)據(jù)庫事務(wù),學(xué)會如何寫自定義標(biāo)簽,這樣能夠顯著的提高你的編程水平.
工作一年的后我覺得應(yīng)該回過去看看大學(xué)的數(shù)據(jù)結(jié)構(gòu),算法,操作系統(tǒng),然后應(yīng)該對面象對象要有更深刻的理解,設(shè)計模式也應(yīng)該慢慢開始涉及到(JAVA變編程思想這本書建議多看幾次).我不建議工作一年就開始換工作,因?yàn)檎夜ぷ饕〞r間,新工作就要適應(yīng)新的框架和新的業(yè)務(wù),這樣你就會亂費(fèi)很多時間的.我還是不建議你去看HIBERNATE,STRUTS,SPRING這樣的東西,雖然你工作中可能要用到它.對于英語我覺得應(yīng)該早做準(zhǔn)備,強(qiáng)迫自己看一些英文方面的書籍,提高自己的口語水平,另外我還要強(qiáng)調(diào)一點(diǎn),適當(dāng)?shù)膮⒓优嘤?xùn)是很有必要的,上海有很多的外語培訓(xùn)機(jī)構(gòu)(主要是培訓(xùn)商務(wù)交流),效果很不錯的,不過也很貴的,所以去前一定要計劃好,不要象大學(xué)那樣交了錢不去上課或者不認(rèn)真聽課,那樣就最好先不要去.
工作兩年后,如果你算法,數(shù)據(jù)結(jié)構(gòu),設(shè)計模式等等有比較深的了解的時候 我覺得HIBERNATE,STRUTS,SPRING的實(shí)現(xiàn)方法你應(yīng)該能夠很快理解.
posted on 2013-10-08 11:33 順其自然EVO 閱讀(243) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄 、linux