java

          jvm

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            3 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          轉自:http://forchenyun.javaeye.com/blog/546733

          找完工作了,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.恒心。(中途放棄你將一事無成)

          posted on 2011-03-02 20:21 shayo 閱讀(61) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 巨野县| 罗平县| 靖宇县| 长汀县| 宽城| 大足县| 城市| 荔浦县| 平泉县| 辰溪县| 峨边| 临西县| 克山县| 鞍山市| 漳州市| 朝阳县| 平乡县| 富宁县| 巫溪县| 含山县| 延吉市| 清水河县| 南宁市| 陈巴尔虎旗| 错那县| 平和县| 秦皇岛市| 留坝县| 永修县| 桓仁| 东方市| 农安县| 巴南区| 清水河县| 邛崃市| 名山县| 林周县| 镇原县| 乡宁县| 陵水| 和田市|