Java本身是一種設計的非常簡單,非常精巧的語言,所以Java背后的原理也很簡單,歸結起來就是兩點:

          1、JVM的內存管理

          理解了這一點,所有和對象相關的問題統統都能解決

          2、JVM Class Loader

          理解了這一點,所有和Java相關的配置問題,包括各種App Server的配置,應用的發布問題統統都能解決

          就像張無忌學太極劍,本質就是一圈一圈的畫圓,你要是懂得了太極劍的本質,那么太極劍就那么一招而已,本身是很容易學的,只是難度在于你要能夠舉一反三,化一式劍意為無窮無盡的劍招,這就需要一點悟性和不斷的實踐了;反過來說,如果學劍不學本質,光學劍招,你就是學會了1萬招,碰到了第1萬零1招,還是不會招架,敗下陣來。

          技術世界本來就是豐富多彩,企圖統一標準,實際上也做不到,但是世界本質其實并不復雜。學習技術,特別是某種具體的軟件工具的時候,應該學會迅速把握事物的本質,不要過多攪纏細節。軟件工具應該為我所用,而不是我被工具所駕馭。當你具備了對整個J2EE架構的設計和實施的能力,你還會被具體的工具束縛嗎?哪種工具適合你的架構,你就用什么,哪種不適合你,你就拋棄它,軟件皆臣服于你的腳下,而不是你被什么軟件牽著鼻子走,到了這種程度,你難道還害怕學習什么新的軟件?

          我自己也在一直朝著這個方向努力,在我心中,設計軟件,架構是第一位的,采用什么技術要為架構服務。如果我發現什么技術對我的架構來說很重要,那么我會花時間去學習,去鉆研,就像我花時間去鉆研ORM一樣,如果我覺得什么技術對我的架構來說沒有用,即使技術再火爆,我也不去碰它。

          總之要學會抓住本質,駕馭技術,而不是被技術所駕馭。當你掌握了本質原理,其實學什么都很快,畢竟都是相通的,我先看JDO,后看Hibernate,其實兩者就很類似,所以學得很快,以后如果有工作需要,要我學習別的ORM,那我也不會覺得有什么困難的,一樣手到拿來。

          更有說服力的是Unix類的操作系統,那就更相似了,只要抓住了Unix最本質的幾點,例如shell命令和編程,文件系統結構和配置,系統啟動原理和過程,所有的Unix都是無師自通的。我自己會用Linux,FreeBSD,SCO Unix, Solaris,HP-UX 和 AIX等6種Unix,更體會到一通百通的道理。

          拿剛出了光明頂密道的張無忌來說吧,(我很喜歡張無忌這個角色),他也沒有練過什么武功,但是他已經把天下武學之本質:九陽神功 + 乾坤大挪移學會了,所以不管什么功夫,他都是看一遍就會,馬上為我所用,看了空性用了一遍龍爪手,就會用龍爪手來破對方;和昆侖派打了一架,就會用昆侖劍法和滅絕師太過招;七傷拳更是無師自通;太極拳也是看一遍就會。

          總之,學習方法還是很重要,別被五花八門的技術給搞不清學習方向了。
           

          posted on 2007-07-16 14:31 湘江夜游神 閱讀(194) 評論(1)  編輯  收藏 所屬分類: JAVA生活

          FeedBack:
          # re: Java學習方法淺談[ZZ]
          2008-06-12 10:56 | ss
          kao   回復  更多評論
            

          Locations of visitors to this page

          主站蜘蛛池模板: 盘锦市| 集安市| 福建省| 蒲城县| 贡觉县| 阿尔山市| 长顺县| 福清市| 大竹县| 弥勒县| 灌云县| 苍南县| 龙山县| 临夏市| 济南市| 上虞市| 双桥区| 曲靖市| 洪江市| 福清市| 泊头市| 永德县| 陆河县| 辽阳县| 乃东县| 扶绥县| 依安县| 红河县| 靖宇县| 三亚市| 宝应县| 广安市| 融水| 敦化市| 吉隆县| 柯坪县| 大宁县| 常州市| 石台县| 五常市| 牡丹江市|