半年前,對JAVA的了解基本上為零,不知道J2EE是什么,不知道那么多的開源項目,不知道原來J2EE里面的概念是如此的多,這半年學習Java的經歷讓我自己對Java的認識經歷了好幾個階段,可能這應該就是一個成長的過程,至少對于Java本身,可能是要畢業的緣故,現在對自己自身的能力的要求顯得特別的苛刻,畢竟是要找工作了。
其實學習Java對于我來說也是很突然,由于來中興通訊實習,工作用的語言就是Java,所以我就開始學習Java了,還好Java的語法跟C++語言很像,所以入門Java個人感覺不是很難,而且開始看了幾乎有幾萬行的Java代碼,所以對于學習Java的環境還是很不錯的環境吧,實習生的工作不是很繁忙,自由支配的時間還是比較多的,我基本上把所有的自由時間都放到的學習Java上,剛開始對Java有一個誤解,以后跟學C++語言一樣,學會語言,再用好一個開發工具,基本上也就可以處理問題了,可是隱藏在Java后面的J2EE(現在叫Java EE了吧)確實讓我大開的眼界。
剛開始學習Java可以說是熱情高漲的,應為相對于C++語言來說,Java的易用性以及特別好的面向對象思想的實現讓我覺得,就是Java了??墒墙佑|的多了,發現的也就多了,問題也就多了,從來沒有一下子接觸過那么多的概念,J2EE學習讓我一下子感覺Java的龐大和復雜,好像一下子有點找不到北了,我該先學什么呢,學什么好呢,等等等等。。。。好像開始有點郁悶了,那個亂啊,有時候學著學著就學岔了,呵呵。
由于感覺自己現在像進入了一個迷宮,就感覺怎么J2EE東西怎么那么多啊,一個東西還沒有學會呢,另外一個新技術就又出來了,你說這算個什么事啊,這不明擺著把我們這些Java程序員往死里整呢嗎,一度都有放棄Java的念頭,不過由于工作的關系了,不學不行,所以就繼續了堅持,也就是因為這個堅持,讓我對Java有了新的認識,對自己的學習方法也有了新的認識。
前一陣子由于感覺自己的學習特別亂,東一榔頭西一棒的,不著邊際,壓根就學不到真正的東西,于是就給自己定了個學習計劃,從現在開始的第一個月研究Hibernate,然后研究Struts,然后研究spring,最后總結一下自己的學習成果,用自己學的東西做一個基于Struts+Hibernate+spring的論壇出來,就算自己的學習成果了吧,然而不能說的計劃沒有用吧,雖然沒有真正的堅持我的計劃,不過就是應為這個計劃讓我對Java的學習有了新的看法。我們知道J2EE的企業架構的Web程序開發主要是這樣發展過來的:首先就是基于JSP+JavaBean,然后有了Struts,Spring,對于數據庫的訪問從剛開始的JDBC發展到現在ORM,確實讓我們這些程序員的應用開發省了不少麻煩,不過有一個問題,這些架構的出現是為了什么呢?其實很簡單,就是為了減輕我們的工作量,讓我們更關注于應用。可是,我不知道別人是怎么看的,至少對于我來說,對于我一個初學Java不到半年的人來說,早早知道這些架構看來是沒有什么好處的,學習的急功近利讓我追逐的永遠都是這些架構,這些為了減輕工作量的架構,而對于Java基礎的學習則撂倒了一邊,有點可悲,基礎還沒有牢固的情況下就去追求那些時髦的架構,再來看看我定的學習計劃,好像有點可笑了,甚至是幼稚的。
現在我覺得有必要端正一下我的思想了,重新制定一個學習計劃,畢竟10月分到了我還要憑著這玩意找工作呢。其實現在想想自己也的確犯了程序員最嚴重的錯誤:不研究最基本的東西,而去追逐那些花哨的技術,其實那些東西也都是這些最基本的東西開發出來的。所以從現在開始重新回到Java語言本身上來,好好研究Java語言的一些技巧,強烈地提高一下自己的Java基本功,免得回頭跟別人熱烈地討論spring的時候說到語言本身的IO操作一臉茫然了。
說實話,我現在也想通了,就是說的俗一點,找工作的時候面試官的大部分問題應該是關于Java基本功的,面試題也基本上是關于Java語言以及數據結構等方面的,對于Hibernate,spring,我覺得他肯定不會問你某個配置文件怎么寫吧,問得也是思想,比如ORM是什么概念,核心內容是什么等等,所以對于這些框架來說,我覺得會用就足夠了,再說,基本概念掌握以后,學習這些架構才能真正學到精華,學到這些架構的思想,只有這樣,我覺得才有可能真正成為一名架構師吧,呵呵,理想,奮斗ing。
從基本學期,擺脫浮躁,擺脫開始。