標籤:java 檔案 art 問題 工作 linux
Java本身是一種設計的很easy,很靜止的語言,所以Java背後的原理也很easy,歸結起來就是兩點:
1、JVM的記憶體管理
理解了這一點,全部和對象相關的問題統統都能解決
2、JVM Class Loader
理解了這一點,全部和Java相關的配置問題,包含各種App Server的配置,應用的公布問題統統都能解決
就像張無忌學太極劍,本質就是一圈一圈的畫圓,你要是懂得了太極劍的本質,那麼太極劍就那麼一招而已,本身是非常easy學的,僅僅是難度在於你要可以舉一反三,化一式劍意為無窮無盡的
劍招,這就須要一點悟性和不斷的實踐了;反過來說,假設學劍不學本質,光學劍招,你就是學會了1萬招,碰到了第1萬零1招,還是不會招架,敗下陣來。
技術世界本來就是豐富多彩,企圖統一標準,實際上也做不到,可是世界本質事實上並不複雜。學習技術,特別是某種詳細的軟體工具的時候,應該學會迅速把握事物的本質,不要過多攪纏細
節。軟體工具應該為我所用,而不是我被工具所駕馭。當你具備了對整個J2EE架構的設計和實施的能力,你還會被詳細的工具束縛嗎?哪種工具適合你的架構,你就用什麼,哪種不適合你,
你就拋棄它,軟體皆臣服於你的腳下,而不是你被什麼軟體牽著鼻子走,到了這樣的程度,你難道還害怕學習什麼新的軟體?
我自己也在一直朝著這個方向努力,在我心中,設計軟體,架構是第一位的,採用什麼技術要為架構服務。假設我發現什麼技術對我的架構來說非常重要,那麼我會花時間去學習,去鑽研,就
像我花時間去鑽研ORM一樣,假設我認為什麼技術對我的架構來說沒實用,即使技術再火爆,我也不去碰它。
總之要學會抓住本質,駕馭技術,而不是被技術所駕馭。當你掌握了本質原理,事實上學什麼都非常快,畢竟都是相通的,我先看JDO,後看Hibernate,事實上兩者就非常相似,所以學得非常快,以後
假設有工作須要,要我學習別的ORM,那我也不會認為有什麼困難的,一樣手到拿來。
更令人信服的是Unix類的作業系統,那就更類似了,僅僅要抓住了Unix最本質的幾點,比如shell命令和編程,檔案系統結構和配置,系統啟動原理和過程,全部的Unix都是無師自通的。我自
己會用Linux,FreeBSD,SCO Unix, Solaris,HP-UX 和 AIX等6種Unix,更體會到一通百通的道理。
拿剛出了光明頂密道的張無忌來說吧,(我非常喜歡張無忌這個角色),他也沒有練過什麼武功,可是他已經把天下武學之本質:九陽神功 +
乾坤大挪移學會了,所以無論什麼功夫,他都是看一遍就會,立即為我所用,看了空性用了一遍龍爪手,就會用龍爪手來破對方;和崑崙派打了一架,就會用崑崙劍法和滅絕師太過招;七傷
拳更是無師自通;太極拳也是看一遍就會。
總之,學習方法還是非常重要,別被五花八門的技術給搞不清學習方向了。