淺談Java學習方法
1、JVM的內(nèi)存管理
理解了這一點,所有和對象相關(guān)的問題統(tǒng)統(tǒng)都能解決
2、JVM Class Loader
理解了這一點,所有和Java相關(guān)的配置問題,包括各種App Server的配置,應用的發(fā)布問題統(tǒng)統(tǒng)都能解決
就像張無忌學太極劍,本質(zhì)就是一圈一圈的畫圓,你要是懂得了太極劍的本質(zhì),那么太極劍就那么一招而已,本身是很容易學的,只是難度在于你要能夠舉一反三,化一式劍意為無窮無盡的劍招,這就需要一點悟性和不斷的實踐了;反過來說,如果學劍不學本質(zhì),光學劍招,你就是學會了1萬招,碰到了第1萬零1招,還是不會招架,敗下陣來。
技術(shù)世界本來就是豐富多彩,企圖統(tǒng)一標準,實際上也做不到,但是世界本質(zhì)其實并不復雜。學習技術(shù),特別是某種具體的軟件工具的時候,應該學會迅速把握事物的本質(zhì),不要過多攪纏細節(jié)。軟件工具應該為我所用,而不是我被工具所駕馭。當你具備了對整個J2EE架構(gòu)的設(shè)計和實施的能力,你還會被具體的工具束縛嗎?哪種工具適合你的架構(gòu),你就用什么,哪種不適合你,你就拋棄它,軟件皆臣服于你的腳下,而不是你被什么軟件牽著鼻子走,到了這種程度,你難道還害怕學習什么新的軟件?
我自己也在一直朝著這個方向努力,在我心中,設(shè)計軟件,架構(gòu)是第一位的,采用什么技術(shù)要為架構(gòu)服務(wù)。如果我發(fā)現(xiàn)什么技術(shù)對我的架構(gòu)來說很重要,那么我會花時間去學習,去鉆研,就像我花時間去鉆研ORM一樣,如果我覺得什么技術(shù)對我的架構(gòu)來說沒有用,即使技術(shù)再火爆,我也不去碰它。
總之要學會抓住本質(zhì),駕馭技術(shù),而不是被技術(shù)所駕馭。當你掌握了本質(zhì)原理,其實學什么都很快,畢竟都是相通的,我先看JDO,后看Hibernate,其實兩者就很類似,所以學得很快,以后如果有工作需要,要我學習別的ORM,那我也不會覺得有什么困難的,一樣手到拿來。
更有說服力的是Unix類的操作系統(tǒng),那就更相似了,只要抓住了Unix最本質(zhì)的幾點,例如shell命令和編程,文件系統(tǒng)結(jié)構(gòu)和配置,系統(tǒng)啟動原理和過程,所有的Unix都是無師自通的。我自己會用Linux,F(xiàn)reeBSD,SCO Unix, Solaris,HP-UX 和 AIX等6種Unix,更體會到一通百通的道理。
總之,學習方法還是很重要,別被五花八門的技術(shù)給搞不清學習方向了。
【編輯推薦】