轉:一個本科畢業生的Java學習之路

找完工做了,offer不大不小,還算滿意,我將個人學習經驗寫下,但願給後來人一些啓發,更但願Java可以長盛不衰。 
若有謬誤請見諒 
聲明:     
     我是一個普通本科生 
     如下僅我的看法,若有反對意見,勿人肉我     

     以爲寫代碼是軟件工程師中混得最銼的人請繞過 
     以爲Java就是用來作網站的請繞過 
     以爲SSH就是*鳥的同窗培訓學習的請繞過 
      
      
第一階段  熟悉語言 
    在這個階段,你是這個領域絕對的新手,你什麼都不懂,什麼都不知道,沒有別的辦法,看書,寫代碼,請教大牛。 
    在這個階段你須要深刻了解Java語言的語法,可以用它來作一些小東西,好比鬧鐘之類。而且隨着你的學習深刻,對本身將來的學習方向作出選擇,SE,EE,ME?選擇好本身 

的方向而後努力吧!個人方向是EE。 
    目標:紮實基礎,對語法和整個Java的宏觀有必定的理解,具有必定的編碼能力。 
    
第二階段  熟悉開源框架 
    在這個階段,你具有了必定的能力,也是最容易知足的時候,這個時候你須要不斷看書不斷學習,不然你將很難跨過此階段成爲大牛。 
    在這個階段你須要對各類框架的使用很是熟悉,怎麼樣熟悉呢?不是看書,而是作項目,只要你想作,你會有一大把的時間和機會去作項目,運氣好的話,money哦  -_- 
    目標:熟練使用各類開源框架,着重但不限於SSH,lucene等,積累必定的項目經驗。順利的話這個時候你將有一套***完整的知識體系****: 

              JS,AS,CSS 
                   | 
                 SSH等等各類框架 
                   | 
             各類數據庫(包括但不限於sql及其優化,存儲過程,各類索引,分區......太多了) 
         千萬必須必定保證能單挑20000代碼量以上的項目 

第三階段  閱讀源碼 
    當你到這個階段的時候,若是前幾個階段過渡得好,那麼不出意外你已經能夠告訴別人你有10w行代碼量了,接下來呢?讓咱們迴歸。 
    這是一個沒有人幫助你的階段,踏實地看源碼,踏實地總結,在這個階段的完結時候,你基本能總結出一本書那麼厚的經驗了。 
    這是一個很重要的階段,由於前兩個階段的人將佔絕大部分,你若是不經過此階段,你將和他們毫無差異,無論你曾經付出多少努力。 
    目標:閱讀JDK源碼,瞭解各類類的設計及應用場景。閱讀各類框架源碼,瞭解各類開源框架的設計和實現原理(不要在網上看了一篇文章就說IOC,AOP精通了),最好能研究一下JVM(這個大公司很是看重),並可以反思本身作過的項目中,這些框架的缺點和你的改進的方法。 


第四階段  深刻架構   
    不得不說,這個時候你會很孤獨,由於不多有人堅持到這個階段,爲了將來,你必須在這時尋找到一位和你至關的朋友,相互交流(thanks wkx-_-)。 
    這個時候你須要跳出"二手貨交易市場",來到真正的互聯網大型應用,這個時候你接觸的不只限於語言,還有集羣,分佈式文件系統,分佈式緩存,負載均衡LB,高可用性HA,主備拓撲應用,數據、頁面、動態緩存,數據庫分庫分表,水平垂直擴展。那麼很高興的告訴你,這個時候你會發現之前的編譯原理,操做系統原理,網絡原理這些課終於有了用 

武之地。 
    目標:對於大型網站架構具有很強的理論水平,而且能根據(模擬)測試結果判斷系統瓶頸所在並進行性能調優(這點幾乎可使你無敵於天下),熟悉但不限於如下名詞: 
    ab,nmon,reverse proxy,lighttpd,apache prefork,epoll,sendfile,opcode,squid,memcached,LVS,hadoop,map/reduce,hessian ,OSGI,mysql  master-slave,Oracle Standby Database,完了,太多太多了...... 
     以上的1/5你一旦熟練掌握,那麼,你將不弱於絕大部分研究生,並能和一位不懂Java的面試官時,讓對方意猶未盡的跟你談50分鐘。 


什麼叫走完這四個階段,前提是你的簡歷上應該有如下幾句話: 
10萬行代碼量 
極高的壓力承受能力 
對技術的執着追求 

不出意外(前提是我表達沒問題),讀完這篇文章,你們應該對於本身的課程安排和學習曲線有了必定的瞭解,並能分辨哪些東西對於本身很重要,這樣你的學習之路將會平坦一些吧。 
總結以下: 
        1.沒有最強的英雄只有最強的玩家。(成天抱怨這很差那很差的同窗知道緣由了吧) 
        2.代碼量是王道。(固然不是指反向生成的DAO) 
        3.完美的學習曲線。(公司比較注重你自學的學習曲線是否合理) 
        4.恆心。(中途放棄你將一事無成) mysql

相關文章
相關標籤/搜索