原文:http://robbin.javaeye.com/blog/article?page=13
Java 學(xué)習(xí)方法淺談
robbin
Java本身是一種設(shè)計的非常簡單,非常精巧的語言,所以Java背后的原理也很簡單,歸結(jié)起來就是兩點(diǎn): 1、JVM的內(nèi)存管理 理解了這一點(diǎn),所有和對象相關(guān)的問題統(tǒng)統(tǒng)都能解決 2、JVM Class Loader 理解了這一點(diǎn),所有和Java相關(guān)的配置問題,包括各種App Server的配置,應(yīng)用的發(fā)布問題統(tǒng)統(tǒng)都能解決 就像張無忌學(xué)太極劍,本質(zhì)就是一圈一圈的畫圓,你要是懂得了太極劍的本質(zhì),那么太極劍就那么一招而已,本身是很容易學(xué)的,只是難度在于你要能夠舉一反三,化一式劍意為無窮無盡的劍招,這就需要一點(diǎn)悟性和不斷的實(shí)踐了;反過來說,如果學(xué)劍不學(xué)本質(zhì),光學(xué)劍招,你就是學(xué)會了1萬招,碰到了第1萬零1招,還是不會招架,敗下陣來。 技術(shù)世界本來就是豐富多彩,企圖統(tǒng)一標(biāo)準(zhǔn),實(shí)際上也做不到,但是世界本質(zhì)其實(shí)并不復(fù)雜。學(xué)習(xí)技術(shù),特別是某種具體的軟件工具的時候,應(yīng)該學(xué)會迅速把握事物的本質(zhì),不要過多攪?yán)p細(xì)節(jié)。軟件工具應(yīng)該為我所用,而不是我被工具所駕馭。當(dāng)你具備了對整個J2EE架構(gòu)的設(shè)計和實(shí)施的能力,你還會被具體的工具束縛嗎?哪種工具適合你的架構(gòu),你就用什么,哪種不適合你,你就拋棄它,軟件皆臣服于你的腳下,而不是你被什么軟件牽著鼻子走,到了這種程度,你難道還害怕學(xué)習(xí)什么新的軟件? 我自己也在一直朝著這個方向努力,在我心中,設(shè)計軟件,架構(gòu)是第一位的,采用什么技術(shù)要為架構(gòu)服務(wù)。如果我發(fā)現(xiàn)什么技術(shù)對我的架構(gòu)來說很重要,那么我會花時間去學(xué)習(xí),去鉆研,就像我花時間去鉆研ORM一樣,如果我覺得什么技術(shù)對我的架構(gòu)來說沒有用,即使技術(shù)再火爆,我也不去碰它。 總之要學(xué)會抓住本質(zhì),駕馭技術(shù),而不是被技術(shù)所駕馭。當(dāng)你掌握了本質(zhì)原理,其實(shí)學(xué)什么都很快,畢竟都是相通的,我先看JDO,后看Hibernate,其實(shí)兩者就很類似,所以學(xué)得很快,以后如果有工作需要,要我學(xué)習(xí)別的ORM,那我也不會覺得有什么困難的,一樣手到拿來。 更有說服力的是Unix類的操作系統(tǒng),那就更相似了,只要抓住了Unix最本質(zhì)的幾點(diǎn),例如shell命令和編程,文件系統(tǒng)結(jié)構(gòu)和配置,系統(tǒng)啟動原理和過程,所有的Unix都是無師自通的。我自己會用Linux,F(xiàn)reeBSD,SCO Unix, Solaris,HP-UX 和 AIX等6種Unix,更體會到一通百通的道理。 拿剛出了光明頂密道的張無忌來說吧,(我很喜歡張無忌這個角色),他也沒有練過什么武功,但是他已經(jīng)把天下武學(xué)之本質(zhì):九陽神功 + 乾坤大挪移學(xué)會了,所以不管什么功夫,他都是看一遍就會,馬上為我所用,看了空性用了一遍龍爪手,就會用龍爪手來破對方;和昆侖派打了一架,就會用昆侖劍法和滅絕師太過招;七傷拳更是無師自通;太極拳也是看一遍就會。 總之,學(xué)習(xí)方法還是很重要,別被五花八門的技術(shù)給搞不清學(xué)習(xí)方向了。 |