⑴ 90後二流大學程序員自述:從「菜鳥」到「辣雞」,我到底經歷了什麼
程序員高手和菜鳥,不僅僅是技術上的差距,還體現在習慣、經驗、看問題的角度等各個方面。
1.代碼規范:代碼寫得不好,其實一眼就能看出來;比如代碼裡面的各種命名(包、類、方法、變數等等)。在最初寫程序的時候,很多人都會起沒有含義的變數命名,比如 String str;其實我們完全可以把變數名稱起成帶業務含義的,比如在運用中慢慢發現用String username我們會越來越熟練,寫的也越來越好。
⑵ java程序員的職業規劃是什麼
如果你是在校學生,務必要在學好基礎(比如計算機系統、演算法、編譯原理等等)的前提下,再考慮去進行下面的學習。第一部分:對於尚未做過Java工作的同學,包括一些在校生以及剛准備轉行Java的同學。
一、Java基礎首先去找一個Java的基礎教程學一下,這里可以推薦一個地址,或者你也可以參照這個地址上去找相應的視頻。學習Java基礎的時候,應該盡量多動手,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這么回事兒,不信你就試試。學完以上內容以後,你應該對Java有一個基本的了解了,你可以用Java語言寫出一些簡單的程序,並且你用的是最簡單的編輯器,比如記事本。這個時候,不要急於進入下一部分,留下幾天好好寫一些程序,盡可能熟悉這些基礎內容。
二、Web開發等你寫上幾天程序以後,你往往會比較迷茫,因為你寫的東西似乎看起來毫無用處,比如實現一個簡單的計算器,讀取一個文件等。這個時候你就應該去學著寫一些讓你覺得有意思的東西了,所以你應該學習更多的知識。這些內容主要是Web開發相關的內容,包括HTML/CSS/JS(前端頁面)、Servlet/JSP(J2EE)以及Mysql(資料庫)相關的知識。它們的學習順序應該是從前到後,因此最先學習的應該是HTML/CSS/JS(前端頁面),這部分內容你可以去上面的那個runoob網站上找。
你可以試著自己寫一些頁面,當然,你可以盡你最大的努力讓它變得最漂亮。這部分內容對於後端Java來說,理論上不是特別重要,但至少要達到可以自己寫出一些簡單頁面的水平。接下來,你需要學習的是Servlet/JSP(J2EE)部分,這部分是Java後端開發必須非常精通的部分,因此這部分是這三部分中最需要花精力的,而且這個時候,你要學會使用開發工具,而不能再使用記事本了,可以選擇eclipse。當你下載安裝好eclipse以後,請視頻中的教程一步一步去學習,一定要多動手。關於Servlet/Jsp部分視頻的選擇,業界比較認可馬士兵的視頻,因此推薦給大家。
當然了,我本人並沒有看過他的視頻,所以不好說的太絕對,如果大家自己有更好的選擇,可以堅持自己的,不要被我干擾。原本我也是打算出教學視頻的,但是由於時間問題,還是決定放棄了。但是如果你看視頻的過程中遇到了問題,歡迎來我的交流群提問,或者去斗魚觀看我的直播提出你的問題,直播地址和群號都在我的個人博客左側。最後一步,你需要學會使用資料庫,mysql是個不錯的入門選擇,而且Java領域里主流的關系型資料庫就是mysql。這部分一般在你學習Servlet/Jsp的時候,就會接觸到的,其中的JDBC部分就是資料庫相關的部分。你不僅要學會使用JDBC操作資料庫,還要學會使用資料庫客戶端工具,比如navicat,sqlyog,二選一即可。
三、開發框架當你學會以上內容以後,這個時候你還不足以參加工作,你還需要繼續深造。公司里為了提高開發的效率,會使用一些Java Web框架,因此你還需要學習一些開發框架。目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。你可以不理解那些配置都是什麼含義,以及為什麼要這么做,這些留著後面你去了解。
但你一定要可以快速的利用它們三個搭建出一個Web框架,你可以記錄下你第一次搭建的過程,相信我,你一定會用到的。還要提一句的是,你在搭建SSM的過程中,可能會經常接觸到一個叫maven的工具。這個工具也是你以後工作當中幾乎是必須要使用的工具,所以你在搭建SSM的過程中,也可以順便了解一下maven的知識。在你目前這個階段,你只需要在網路上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經驗的增加,會逐漸接觸到的。
關於學習SSM框架的地址給大家推薦一個,這裡面有視頻,大家可以去觀看。四、找工作當你完成開發框架的學習以後,你就該找工作了,在校的找實習,畢業的找全職。與此同時,在找工作的同時,你不應該停下你的學習,准確的說,是你在以後都不能停下學習。上面這些內容你只是囫圇吞棗的學會了使用,你可以逐步嘗試著去了解更多的東西,網路是你最重要的老師。
第二部分:對於參加工作一年以內的同學。恭喜你,這個時候,你已經擁有了一份Java的工作。這個階段是你成長極快的階段,而且你可能會經常加班。但是加班不代表你就可以鬆懈了,永遠記得我說的那句話,從你入行那一刻起,你就要不停的學習。在這一年裡,你至少需要看完《Java編程思想》這本書。這本書的內容是幫助你對於Java有一個更加深入的了解,是Java基礎的升級版。這本書很厚,當初看這本書,我花了整整三個月。正常速度的話,應該可以在半年左右看完。我這里不要求過高,只要你在一年以內把這本書看完即可。當然了,我所說的看完,是充分吸收,而不是讀一遍就完事了,因此有些內容你可能會看不止一遍。總而言之,這個階段的核心學習思想就是,在工作中實踐,並且更加深入的了解Java基礎。
第二部分:對於參加工作1年到2年的同學。這部分時間段的同學,已經對Java有了一個更加深入的了解。但是對於面向對象的體會可能還不夠深刻,編程的時候還停留在完成功能的層次,很少會去考慮設計的問題。於是這個時候,設計模式就來了。我當時看的是《大話設計模式》這本書,並且寫了完整版的設計模式博客。因此,我要求大家,最多在你工作一年的時候,必須開始寫博客,而設計模式就是你博客的開端。
請記住,我所提的基本都是最低要求,因此不要有任何鬆懈的心理,否則五年後,你不要去羨慕別人高於你的工資,也不要去羨慕別人進入了某公司。這一年,你必須對於設計模式了如指掌,《大話設計模式》可以作為你的開端。此外,設計模式並不是你這一年唯一的任務,你還需要看一些關於代碼編寫優化的書。比如《重構 改善既有代碼的設計》,《effective java》。總而言之,這個階段,你的核心任務就是提高你的代碼能力,要能寫出一手優雅的代碼。
第三部分:對於參加工作2年到3年的同學有的同學在這個時候覺得自己已經很牛逼了,於是忍不住開始慢慢鬆懈。請記住,你還嫩的多。這個階段,有一本書是你必須看的,它叫做《深入理解Java虛擬機》。這本書絕對是Java開發者最重要的書,沒有之一。在我眼裡,這本書的重要性還要高於《Java編程思想》。這本書的內容是幫助你全面的了解Java虛擬機,在這個階段,你一定已經知道Java是運行在JVM之上的。所以,對於JVM,你沒有任何理由不了解它。
另外,在過去2年的工作當中,你肯定或多或少接觸過並發。這個時候,你應該去更加深入的了解並發相關的知識,而這部分內容,我比較推薦《Java並發編程實戰》這本書。只要你把這本書啃下來了,並發的部分基本已經了解了十之六七。與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深入的了解,對於Java的類庫也有了更深入的了解。
因此,你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。這些源碼能看懂的前提是,你必須對設計模式非常了解。否則的話,你看源碼的過程中,永遠會有這樣那樣的疑問,這段代碼為什麼要這么寫?為什麼要定義這個介面,它看起來好像很多餘?由此也可以看出,這些學習的過程是環環相扣的,如果你任何一個階段拉下來了,那麼你就真的跟不上了,或者說是一步慢步步慢。而且我很負責的告訴你,我在這個階段的時候,所學習的東西遠多於這里所羅列出來的。
因此千萬不要覺得你已經學的很多了,我所說的這些都只是最低要求,不光是我,很多人在這個時間段所學習的內容都遠超本文的范圍。如果你不能跟上節奏的話,若干年後,如果不是程序猿市場還不錯的話,你很可能不僅僅是工資比別人低,公司沒別人好,而是根本就找不到工作。總而言之,這個階段,你需要做的是深入了解Java底層和Java類庫(比如並發那本書就是Java並發包java.concurrent的內容),也就是JVM和JDK的相關內容。而且還要更深入的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。另外,還有一種學習的方式,在2年這個階段,也應該啟用了,那就是造輪子。不要聽信那套「不要重復造輪子」的論調,那是公司為了節省時間成本編造出來的。重復造輪子或許對別人沒有價值,因為你造的輪子可能早就有了,而且一般情況下你造出來的輪子還沒有現存的好。
但是對別人沒有價值,不代表對你自己沒有價值。一個造輪子的過程,是一個從無到有的過程。這個過程可以對你進行系統的鍛煉,它不僅考察你的編碼能力,還考察你的框架設計能力,你需要讓你的輪子擁有足夠好的擴展性、健壯性。而且在造輪子的過程中,你會遇到各種各樣的難題,這些難題往往又是你學習的契機。當你把輪子造好的時候,你一定會發現,其實你自己收獲了很多。所以,這個階段,除了上面提到的了解JVM、JDK和框架源碼以外,也請你根據別人優秀的源碼,去造一個任何你能夠想像出來的輪子。
第四部分:參加工作3年到4年的同學這個階段的同學,提升已經是很難了,而且這個階段的學習往往會比較多樣化。因為在前3年的過程中,你肯定或多或少接觸過一些其它的技術,比如大數據、分布式緩存、分布式消息服務、分布式計算、軟負載均衡等等。這些技術,你能精通任何一項,都將是你未來面試時巨大的優勢,因此如果你對某一項技術感興趣的話,
這個時候可以深入去研究一下。這項技術不一定是你工作所用到的,但一定是相關的。而且在研究一門新技術時,切忌朝三暮四。有的同學今天去整整大數據,搞搞Hadoop、hbase一類的東西。過不了一段時間,就覺得沒意思,又去研究分布式緩存,比如redis。然後又過不了一段時間,又去研究分布式計算,比如整整Maprece或者storm。結果到最後,搞得自己好像什麼都會一樣,在簡歷上大言不慚的寫上大數據、分布式緩存、分布式計算都了解,其實任何一個都只是浮於表面。到時候面試官隨便一問,就把你給識破了。
一定要記住,作為一個程序猿,平日里所接觸的技術可能會很多,但是想要讓一門技術成為你的優勢,那麼一定是你對這門技術的了解強過絕大多數人才行。因此在這個階段,你就不能再簡單的去學習前3年的內容了,雖然前面的學習如果還不夠深入的話依舊要繼續,但這個時候你應該更多的考慮建立你的優勢,也可以稱為差異性。差異性相信不難理解,就是讓你自己變得與眾不同。你前面三年的學習足夠你成為一名基本合格的Java開發者,但你離成為一名優秀的Java開發者還有很大的距離。
所謂優秀,即能別人所不能。而你前三年所學習的內容,是很多做過幾年的Java開發都能夠掌握的。那麼為了讓自己有差異性,你就需要另闢蹊徑,找一個方向深入研究下去,以期在將來,你能夠成為這個領域的專家,比如分布式計算領域的專家,大數據領域的專家,並發領域的專家等等。此外,你除了建立你的差異性之外,還要去彌補你基礎上的不足,直到現在,我都沒有提及基礎知識。原因是基礎是很枯燥無味的,學的太早不僅容易懵逼,而且懵逼的同時還容易產生心理陰影,以至於以後再不想去研究這些基礎。但基礎又是你深入研究一些領域時所必須掌握的,比如你去研究分布式計算,你不懂演算法你玩個毛毛?比如你去做分布式緩存,你對計算機系統的內存不了解,你如何去做緩存?
如果你的基礎本來就非常強,那麼恭喜你,相信你在之前的工作中已經充分體會到了這些基礎對你的幫助。但我相信大部分人的基礎都很薄弱,哪怕是科班畢業的人,很多人也不敢說自己當初的基礎學的多麼強大,比如演算法、計算機系統原理、編譯原理這些。但是每個人時間都是有限的,而且這些基礎的書籍每一本讀下來,沒個一年半載的,還真拿不下來,因此還是要有所抉擇的。雖然藝多不壓身,但問題是藝多是有代價的,是需要你付出時間和精力的,而我個人更贊成在同等代價的情況下獲取最大的收獲。
首先,我比較推崇的基礎書籍有三本,分別是《深入理解計算機系統》,《tcp/ip詳解 卷一、二、三》,《數據結構與演算法》。其中TCP/IP有三本書,但我們這里把這三本看成是一本大書。這三本分別適合三種人,《深入理解計算機系統》比較適合一直從事Java Web開發和APP後端開發工作的人群。《tcp/ip詳解 卷一、二、三》比較適合做網路編程的人群,比如你使用netty去開發的話,那麼就要對TCP/IP有更深入的了解。而《數據結構與演算法》這本書,則比較適合做計算研究工作的人,比如剛才提到的分布式計算。另外,我要強調的是,這里所說的適合,並不是其它兩本對你就沒有用。比如你做Java Web和APP後端開發,《tcp/ip詳解 卷一、二、三》這本書對你的作用也是很大的。這里只是分出個主次關系而已,你要是時間足夠的話,能把三本都精讀那當然最好不過了。
但如果時間有限的話,那麼就先挑對你幫助最大的書去讀。理論上來講,這一年你能把這三本其中一本精讀下來,就已經非常厲害了。有了基礎,有了前面的工作經驗,你就可以去開拓屬於你的領域了。在這一年裡,一定要規劃好自己的領域,建立好自己的優勢,製造出差異性。如果你對自己的領域不夠清晰的話,隨著你工作的時間日益增多,你接觸的技術會越來越多,這個時候,你很容易被淹死在技術的海洋里,看似接觸的技術越來越多,會用的也越來越多,但你毫無優勢。有的同學可能會問,「我,我也不知道我的領域是什麼啊?怎麼辦呢?」對於這種人,我只想說,「卧槽,這還問我?要不幹脆我替你學習得了,好不好?」
第五部分:參加工作4年到5年的同學經過前面一年的歷練,相信你在自己所鑽研的領域已經有了自己一定的見解,這個時候,技術上你應該已經遇到瓶頸了。這個時候不要著急提高自己的技術,已經是時候提高你的影響力了,你可以嘗試去一些知名的公司去提高你的背景,你可以發表一些文章去影響更多的人。當然,你也可以去Github創建一個屬於你的開源項目,去打造自己的產品。
這次的開源項目不同於之前的造輪子,你這個時候是真的要去盡量嘗試造出來真正對別人有價值的輪子。技術學到這個階段,很容易遇到瓶頸,而且往往達到一定程度後,你再深入下去的收效就真的微乎其微了,除非你是專門搞學術研究的。然而很可惜,大部分程序猿做不到這一步,那是科學家做的事情。這個時候提高影響力不僅僅是因為技術上容易遇到瓶頸,更多的是影響力可以給你創造更多的機會。程序猿在某種程度上和明星很像,一個好的電視劇和電影就可以成就一批明星,程序猿有的時候也是,一個好的項目就可以成就一群程序猿。比如國內幾個膾炙人口的項目,像淘寶、支付寶、QQ、網路、微信等等。這每一個項目,都成就了一批程序猿。我敢說,這裡面任何一個項目,如果你是它的核心開發,光是這樣一個Title,就已經是你非常大的優勢。更何況還不止如此,Title說到底也是個名頭,更重要的是,這種項目在做的時候,對你的歷練一定也是非常給力的。
而你如果想要參與這樣的項目,除了靠運氣之外,影響力也是很重要的一個手段。比如你在分布式計算領域有一定的影響力,那麼如果有什麼好的關於分布式計算的項目,對方就很可能會邀請你。就算人家不邀請你,你自己主動去面試的時候,對方如果知道你在這個領域的影響力,也肯定會起到很大的作用,而這個作用,甚至可能會超過你現在的技術能力。所以,在這個階段,你最大的任務是提高自己的影響力,為自己未來的十年工作生涯那一天做准備。如果你能夠靠你的影響力和以前積累的技術,參與到一個偉大的項目當中,那麼你後面的五年也就有著落了。當然了,我現在滿打滿算,做程序猿也就4年半不到,因此關於4年到5年這一部分,我的見解不一定是對的,就算是對的,也不一定是適合任何人的。
所以,希望大家自己有的判斷力,去決定到底該如何度過這一年。結語本文到此就基本結束了,整篇文章很長,但其實主要就說了兩部分內容,一個是社招面試的准備,一個是Java生涯的學習。關於這兩部分,我已經給出了自己的見解,但是還是那句話,每個人吸收知識的時候,都要有抽取精華,去除糟粕的能力。我所說的,可能有些是對的,有些是錯的,有些是適合你的,有些是不太適合你的,你要自己能夠判斷。其實你在生活和工作當中也是一樣的,你身邊的人形形色色,有的人你喜歡,有的人你很討厭。但其實你喜歡的人也有缺點,你討厭的人也有優點。你要學會從你討厭的人身上學會他的優點,千萬不要一棒子打死,這只會讓你失去很多學習成長的機會。好了,說了這么多了,就到此為止吧
⑶ 自學Java怎麼入門
自學java怎麼算入門? 衡量標準是什麼?
我從個人角度分為三個階梯: 初學,入門,高手
第一: 初學 (理論知識階段)
很多同學剛剛入門學習java,看書,或者看視頻。這個階段是積累理論知識的時候,相對比較容易,一個小知識點,信息量少,跟著老師的思路走就可以。
在這個階段,很多同學學得很快,感覺編程好簡單。
隨著學習的深入,大多數同學會產生混亂。 為什麼?所有的技術背後都有原理,前面都有應用場景,不同應用場景有不同使用方法。 信息量逐級增加。
信息量逐級增大後,會有什麼問題?
學到後面忘記前面。
新技術不斷出現,感覺永遠學不完。 喪失興趣或信心。
理論知識階段,更重要的是理解原理和規律,知識點的細節記不住可後面查找。學習方法更重要的是交流討論,理解和總結。 多問為什麼是關鍵!
第二: 入門 (熟練度)
一個項目從0到1的過程才是最寶貴的,也是初學者提升最大的部分。但從書本或者視頻中,很難學習這個過程。
技術的應用能力換句話說是 技術的分解排序能力, 當遇到一個需求,該如下實現?
基本的思路是把需求分解成原子操作。 原子操作代表開發當中的基本操作,也就是在知識點當中學到的,比如資料庫操作,sql,框架的基本使用等等。
如果能把需求分解為原子操作序列,開發完成只是時間快慢的問題。往往剛剛開始學習編程的同學,不善於或者懶得去思考。畢竟看視頻是被動的,分析問題是主動思考。學習只是看看視頻,本質上是思考的懶惰。
所以需要找大量的練習和項目案例進行實踐!!!
第三: 高手(業務和性能)
程序員是把理論知識組合應用起來解決用戶的問題。(或者提高用戶的效率)
第三個等級的知識更加多元化,不同行業涉及不同的領域知識,信息量也是增大。
業務解決用戶的問題,可以賺錢。
性能用最小的資源,解決用戶的問題,可以省錢。
所以在企業開發中,需要考慮更多和成本,時間,用戶等相關的問題。
總結: 掌握理論知識後,需要大量的代碼去實踐,才算入門。
分享下我們的學習路線,供你參考一下!
希望能幫到你,望採納!
⑷ Java菜鳥學習編寫第一個java程序HelloWorld
不管學哪門語言,第一個HelloWorld程序成功運行起來的時候,代表著你的學習已經跨進了一小步。做這個java實驗之前,讀者最少要在自己的電腦上安裝好JDK(包括配置好環境變數),如果讀者還不會安裝JDK和配置環境變數可以看作者的另一遍經驗。
編寫並保存代碼。打開記事本編寫如圖1所示代碼,圖1代碼為(注意輸入代碼時輸入法一定切換到英文輸入狀態下):
public class HelloWorld {
/**
* 輸出一行字元串「Hello World!」
* @param args
*/
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
在D盤建立一個JAVA文件夾用於保存代碼,保存的時候一定要注意,如圖2所示,「保存類型(T)」要選擇「所有文件(*.*)」,「文件名(N)」一定要為 HelloWorld.java 。如圖3所示,保存後到D:JAVA下檢查下文件名是否正確,HelloWorld.java.txt,HelloWorld.txt都是錯誤的文件名。JAVA程序代碼後綴為.java,文件名常常要求保持和類名一致。JAVA語言是嚴格區分大小寫字母的,但是Windows的文件名卻不區分大小寫。
啟動命令提示符並進入到D:JAVA文件夾。如圖1所示,按下WIN+R鍵啟動運行命令框,輸入cmd命令後回車,就可以啟動命令提示符窗口。然後在命令提示符窗口中輸入下面命令進入D:JAVA目錄:
>D: <回車>
>cd JAVA <回車>
調用編譯指令javac把HelloWorld.java轉換為位元組碼文件HelloWorld.class 。如下圖所示,執行指令:
>javac HelloWorld.java <回車>
執行指令如果沒提示什麼信息就是最好的信息,這時檢查JAVA文件夾就會發現多了一個.class文件,這就是位元組碼文件了。如果提示錯誤信息就要回過頭檢查了。首先檢查JDK環境變數是否配置好,然後檢查類名和文件名是否一致,再檢查代碼是否有用正文輸入法輸入等等。
運行程序。代碼轉換為.class 文件後就可以在JVM虛擬機下運行了。在命令提示符敲入命令:
>java HelloWorld <回車>
如圖所示,回車後列印輸出:
HelloWorld!
注意,這時實際上是運行HelloWorld.class,但是命令中並不用加後綴名。
分析第三步的偽編譯原理。如圖所示,.java後綴的是源代碼,一個或者多個源代碼要經過java編譯器生產.class後綴的位元組碼。位元組碼是和平台無關的,和C語言編譯生成平台相關的機器碼是不一樣的。機器碼可以只能在對應的平台執行,位元組碼執行是平台無關的但是必須有解釋器。
分析第四部JAVA程序的執行過程。圖為.class文件被讀取後進行解釋為平台相關機器碼執行的過程。和編譯型語言(比如C)程序最大的不同是JAVA程序經過解釋器轉換為和平台相關的機器碼才可執行,可見這個過程在執行過程中動態解釋,而編譯型語言(比如C)是在執行之前就編譯成了和平台相關的機器碼了。這也是JAVA語言可以「一次(偽)編譯,到處運行」的重要原因。
⑸ Java語言好學么
1、 java好學嗎?
從某些方面來說,java比較容易學,如果是大學畢業,大學計算機專業里大多開設了java基礎課程,或者學過一點編程,學起java來也會輕松不少。即使是零基礎也不用擔心,java可以零基礎授課,入門比較簡單,難的是學深入,這不是一件容易的事。學習java是一個循序漸進的過程,要想完全憑自學是很難精通這一技能的。
2、java是不是最難學的語言?
Java是一種面向對象的語言,因而在程序設計思路上要比C類的語言簡單得多,但是Java最重要的基礎,起步越踏實,後期的學習越簡單。但問題在於Java的涉及面很廣,並不是單單的知識語言,而是一個知識體系,Java基礎,高級。Java Web,Jave Script,JSP,各種框架知識等等都是需要你去學習的,只有掌握的知識足夠全面踏實,才能成為一個Java工程師。單單靠Java編程語言是無法完成工作的。
java編程語言難度大於PHP Python Golang 小於C++
3、java和c++學哪個找工作范圍比較廣一些,以後的發展能好一些?
前提是兩種語言都是一種熟練度,都需要精通,兩種語言都很熱門,有能力工作都好找,C++更底層,較復雜,應用廣。JAVA通過調用API介面來完成工作(注:JAVA底層實現用C++,C完成的)適合做應用,流行,相對C++簡單
⑹ java程序員個人簡歷精選【4篇】
基本信息
姓 名:XXX
性別:男
婚姻狀況:未婚 民族:漢
戶 籍:遼寧 年齡:27
現所在地:沈陽 身高:179cm
聯系電話:
求職意向
希望崗位:java程序員
工作年限: 職稱:無職稱
期望月薪:5000
求職類型:全職
到崗時間:隨時
工作經歷
xx年3月—至今 天津銀行,擔任java程序員。工作內容:
OA自動化辦公系統:
軟體環境:Apache Tomcat 5.0/MySQL /windows2003/jdk1.4.2
開發工具:Eclipse,Dreamweaver等開發工具
項目描述:該項目主要針對衡陽市環保局的自動化辦公,提高辦公效率。
1、項目主要採用當前流行的MVC模式,Struts+Hibernate+Spring框架(B/S)。
2、使用的技術: JSP 、Servlet 、JavaBean 、Hibernate、JNDI、XML、Struts、Spring等相關技術。
責任描述:
1、負責技術:相關JavaBean,Servlet,Hibernate持久層的編寫,配置,調試等負責部署整個webapplication。
2、負責功能為個人辦公,包括短消息,通訊錄等。
客戶關系管理系統(CRM)
1、開發環境:Apache Tomcat 5.0/SQLServer/windows2003/jdk1.4.2
2、開發工具:Eclipse ,Dreamweaver等開發工具
3、項目描述:基於J2EE平台,採用MVC設計模式及SSH(Struts+Spring+Hibernate)三個集成框架、B/S模式、SQLServer作為後台資料庫。
4、項目責任:本人主要負責營銷管理模塊及其顯示層的開發。
教育背景
畢業院校:沈陽大學
最高學歷:本科
畢業日期:2004-07
專 業:計算機科學與技術
語言能力
英語水平:良好
國語水平:標准
粵語水平:良好
專業技能
1、扎實的JAVA基礎知識,熟悉面向對象編程思想,熟練MVC設計模式。
2、熟悉JAVA、HTML、XML等語言的軟體開發;
3、精通JSP,Servlet,JDBC,JSTL等Web開發技術
4、熟練J2EE(Javabean,struts,hibernate,spring)+ Apache Tomcat 5.0開發;
5、熟悉SQL-Server、MySQL,Oracle資料庫的操作;
6、了解Linux操作系統,Ajax技術。
7、核心技術:J2EE。
自我評價
為人誠懇,待人真誠,具有良好的團隊合作精神和溝通組織能力,工作認真、踏實、積極上進。自學能力強,思維敏捷,對於新知識接受快,勇於面對困難,敢於挑戰。
姓名:XXX
目前所在: 天河區 年齡: 26
戶口所在: 惠州 國籍: 中國
婚姻狀況: 未婚 民族: 漢族
身高: 178 cm
體重: 67 kg
求職意向
人才類型: 普通求職
應聘職位: 軟體工程師:程序員,計算機軟體:程序員
工作年限: 2 職稱: 無職稱
求職類型: 全職 可到職日期: 一個月
月薪要求: 2000~3499元 希望工作地區: 廣州,惠州,深圳
工作經歷
**公司 起止年月:2008-07 ~ 2010-11
公司性質: 民營企業所屬行業:計算機/互聯網/通信/電子
擔任職位: Java程序員
工作描述: 1、廣州印刷出版行業的電子政務管理系統的開發改版工作.
2、交通部門的管理系統維修企業及駕培企業b/s框架的功能開發.
3、會計從業人員電子政務系統開發工作.
4、印刷信息網站開發工作.
離職原因: 轉換新工作環境
教育背景
畢業院校: 廣東白雲學院
最高學歷: 大專獲得學位: 畢業日期: 2009-07
專 業 一: 軟體技術 專 業 二:
起始年月 終止年月 學校(機構) 所學專業 獲得證書 證書編號
2006-09 2009-07 廣東白雲學院 軟體技術
語言能力
外語: 英語良好 粵語水平: 良好
其它外語能力:
國語水平: 良好
工作能力及其他專長
良好的JAVA 基礎知識,熟悉面向對象的編程思想。
熟練運用Struts、Hibernate、Spring等J2EE企業架構核心技術
熟悉HTML、XML、JavaScript、CSS、jQuery等網頁開發技術
熟悉MSSQL資料庫系統的操作和使用
熟練使用MyEclipse等開發工具
熟練Tomcat等WEB伺服器的應用
自我評價
1、本人有良好的團隊合作精神,項目開發過程中積極主動的與各成員溝通交流。
2、能長時間承受工作壓力,對待工作態度積極,對工作負責。
3、能在時間較緊迫的時候完成工作任務。
4、能夠快速的適應各種工作環境,具有良好的分析能力,自學能力,適應能力;
個人概況
姓 名:liuxue86
出生年月:1990年12月
性 別:男
政治面貌:中共黨員
學 歷:本科
專 業:計算機科學與技術
英語水平:CET4/6
電 話:***********
求職意向
Java程序員
目標地點:福州
教育經歷
在讀院校:2010.9至今 福建農林大學 計算機科學與技術(java方向)
技術技能
熟練運用Java開發環境和項目構建
熟練應用JSP/Servlet/JDBC/JavaBean的MVC模式開發項目
熟悉Struts,Hibernate,Spring框架項目開發
熟悉掌握 i18n國際化應用、ajax技術、strust技術、ExtJS技術
熟練應用Java應用伺服器進行Java軟體開發:Apache Tomcat
熟練掌握主流的Java IDE工具,如:Eclipse,Myeclipse
項目經驗
(1)網上書店系統
使用技術:Jsp javaBean servlet MySqlajax
項目功能:用戶登錄查看書籍信息加入購物車信用卡支付
主要負責:資料庫層
項目收獲:通過此項目對資料庫的操作更加熟悉,使得頁面與資料庫得到了更好的交互。
(2)電子郵件應用
使用技術:Jsp javaBean servlet MySql JavaMail API ajax
項目功能:郵件發送 接收 查看
主要負責:業務伺服器層
項目收獲:採用了潮流的Ajax實現了郵件的發送和接收,也逐漸感受到Ajax的強大。
獲得獎勵及證書
2013學年,獲國家“軟體工程師”證書
2012學年,獲“國家二等獎學金”榮譽
2011學年,獲福州市“優秀志願者”稱號
2010學年,獲福建農林大學“優秀團員”稱號
個人評價
在校曾經任輔導員助手,班級團支書和實踐部幹事以及顧問、校網路中心管理員和維護員等職務。為人誠懇踏實,工作認真負責。為人樂觀開朗,樂於與人交往。對新技術有極高的熱情和洞察力,願意接受新的挑戰。既具有獨立完成工作的能力,也具有很強的團隊配合能力。能夠遵循編程規范進行編碼,對編程具有濃厚的興趣有很強的學習能力、動手能力,曾經在學校網路中心當過培訓講師。
希望貴公司給我一個機會,我會為貴公司創造盡可能多的價值。謝謝!
個人資料
姓名:個人簡歷
性別:
目前所在: 廣州 年齡: 23
戶口所在: 廣西 國籍: 中國
婚姻狀況: 未婚 民族: 漢族
培訓認證: 未參加 身高: 160 cm
誠信徽章: 未申請 體重: 45 kg
人才測評: 未測評
我的特長:
求職意向
人才類型: 普通求職
應聘職位: 軟體工程師:JAVA軟體工程師
工作年限: 2 職稱: 中級
求職類型: 全職 可到職日期: 隨時
月薪要求: 3500--5000 希望工作地區: 廣州,,
工作經歷
廣州東方標准信息科技有限公司 起止年月:2008-03 ~ 2010-06
公司性質: 民營企業所屬行業:計算機/互聯網/通信/電子
擔任職位: java程序員
工作描述:
1.參與需求的挖掘;
2.負責java程序開發, 測試,維護;
3.帶領實習生進行項目開發,並協助其攻克技術難點;
4.重構“廣東遠程職業培訓網”。
離職原因:
志願者經歷
教育背景
畢業院校: 廣西職業技術學院
最高學歷: 大專獲得學位: 畢業日期: 2008-07
專 業 一: 計算機 專 業 二:
起始年月 終止年月 學校(機構) 所學專業 獲得證書 證書編號
2007-11 2008-02 新東方IT培訓學校 JAVA軟體工程師 - -
語言能力
外語: 英語一般 粵語水平: 一般
其它外語能力:
國語水平: 優秀
工作能力及其他專長
1.具有面向對象思想,扎實的編程功底以及良好的編碼習慣;
2.熟練應用Struts+Hibernate,SSH2框架和MVC三層架構開發模式;
3.熟練Oracle資料庫的操作,能夠編寫存儲過程,熟悉Mysql和SqlServer資料庫;
4.熟練Tomcat伺服器的部署及應用;
5.熟悉版本管理器SVN;
6.熟練使用Jsp,HTML,JavaScript,Jquery,Ajax,Css等WEB客戶端技術;
7.了解設計模式,代碼重構和項目過程管理,能夠編寫文檔。
自我評價
自我鑒定
我身體健康,性格隨和,五官端正,不怕苦不怕累。兩年多的程序員生活鍛煉了我堅強的意志,縝密的思維,以及強的抗壓性;我做事有耐心,並且樂於學習新知識,更注重鞏固舊知識。作為一名程序員,更重要的品質就是要懂得團隊合作,而我恰好擁有團隊合作精神,對工作認真負責。
項目經驗
2010/3--2010/6:綜合管理系統
軟體環境:TOMCAT6.0+ MYSQL
硬體環境:windows
開發工具:MYECLIPSE5.1
項目描述:項目團隊: 開發人員4人
開發語言:JAVA
SCM工具:SVN版本管理器
項目技術:STRUTS 2+SPRING+HIBERNATE3.0、LOG4J、JQUERY、AJAX
軟體描述:“綜合管理系統”專門針對社會各類培訓學校、培訓中心而開發的一套綜合性管理軟體,對學校的日常事物進行記錄,提高學校管理的工作效率。主要有“許可權管理”,“歷史記錄”,“教務管理”,“學員管理”,“教學管理”,“財務管理”等模塊。
責任描述:
1.帶領實習生進行項目開發,從需求挖掘到程序開發;
2.協助實習生攻克技術難點;
3.負責“教務管理”,“學員管理”模塊的開發;
2009/12--2010/2: 創業測評系統
軟體環境:TOMCAT6.0+ ORACLE10g
硬體環境:windows
開發工具:MYECLIPSE5.1
項目描述:項目團隊: 開發人員4人,經理1人
開發語言:JAVA
SCM工具:SVN版本管理器
項目技術:STRUTS+HIBERNATE3.0、JQUERY、AJAX
軟體描述:“創業測評系統”是省勞動保障廳主辦項目“廣東遠程職業培訓網”的一個子項目;以“廣東遠程職業培訓網”的用戶為用戶,主要實現“測試”,“統計”,“行業方向管理”,“題庫管理”,“測評報告管理”功能。
責任描述:負責“統計”,“題庫管理”模塊的程序開發;
1.“統計”中“自定義”統計功能以存儲過程方式實現;
2.以樹形菜單顯示題目種類。
2009/2--2010/6:廣東遠程職業培訓網
軟體環境:TOMCAT6.0+ ORACLE10g
硬體環境:windows
開發工具:MYECLIPSE5.1
項目描述:項目團隊: 開發人員6人,經理1人
開發語言:JAVA
SCM工具:SVN版本管理器
項目技術:STRUTS+HIBERNATE3.0、IBATIS、JSP、JAVASCRIPT、JQUERY、AJAX
項目描述:“廣東遠程職業培訓網”是省勞動保障廳主辦項目,是一項長期項目;主要有以下功能:
1.“後台管理系統”,用於管理學員信息,課件信息,三級許可權分配,對各地市級的學員進行統計等;
2.“學習平台”與FLASH進行交互,播放flash課件,提供給學員學習課程;
3.“CMS新聞發布系統”豐富頁面內容。
我的任務:
負責“學員管理”,“課件管理”模塊的程序開發;重構“統計”、“注冊”模塊。
1.“學員管理”實現增刪改查,導入導出等功能。
2.以樹形結構顯示課件信息,並實現增刪改查,停用啟用功能。
3.重構“注冊”功能,採用jquery.validator插件進行校驗,ajax非同步獲取數據。
責任描述: 負責“學員管理”,“課件管理”模塊的程序開發;重構“統計”、“注冊”模塊。
⑺ java學習心得
Java學習心得
引言
軟體開發之路是充滿荊棘與挑戰之路,也是充滿希望之路。Java學習也是如此,沒有捷徑可走。夢想像《天龍八部》中虛竹一樣被無崖子醍醐灌頂而輕松獲得一甲子功力,是很不現實的。每天仰天大叫"天神啊,請賜給我一本葵花寶典吧",殊不知即使你獲得了葵花寶典,除了受自宮其身之苦外,你也不一定成得了"東方不敗",倒是成"西方失敗"的幾率高一點。
"不走彎路,就是捷徑",佛經說的不無道理。
1.如何學習程序設計?
Java是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於Java,對C++等其他程序設計語言也一樣管用。有編程高手認為,Java也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
1.1培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關心一些行業趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程序員論壇轉轉,你會發現,他們其實很樂觀幽默,時不時會冒出智慧的火花。
1.2慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟體開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。
如果你對硬體比較感興趣,你可以學習C語言/匯編語言,進入硬體開發領域。如果你對電信的行業知識及網路比較熟悉,你可以在C/C++等之上多花時間,以期進入電信軟體開發領域。如果你對操作系統比較熟悉,你可以學習C/Linux等等,為Linux內核開發/驅動程序開發/嵌入式開發打基礎。
如果你想介入到應用范圍最廣泛的應用軟體開發(包括電子商務電子政務系統)的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個領域要求的背景知識不一樣。做應用軟體需要對資料庫等很熟悉。總之,你需要根據自己的特點來選擇合適你的編程語言。
1.3要腳踏實地,快餐式的學習不可取
先分享一個故事。
有一個小朋友,他很喜歡研究生物學,很想知道那些蝴蝶如何從蛹殼里出來,變成蝴蝶便會飛。有一次,他走到草原上面看見一個蛹,便取了回家,然後看著,過了幾天以後,這個蛹出了一條裂痕,看見裡面的蝴蝶開始掙扎,想抓破蛹殼飛出來。這個過程達數小時之久,蝴蝶在蛹裡面很辛苦地拚命掙扎,怎麼也沒法子走出來。這個小孩看著看著不忍心,就想不如讓我幫幫它吧,便隨手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。但蝴蝶出來以後,因為翅膀不夠力,變得很臃腫,飛不起來。
這個故事給我們的啟示是:欲速則不達。
浮躁是現代人最普遍的心態,能怪誰?也許是貧窮落後了這么多年的緣故,就像當年的大躍進一樣,都想大步跨入***主義社會。現在的軟體公司、客戶、政府、學校、培訓機構等等到處彌漫著浮躁之氣。就拿我比較熟悉的大連大工IT職業培訓來說吧,居然打廣告宣稱"20多年的計算機職業教育,遼寧省十佳學校",殊不知中國計算機發展才幾年,軟體發展才幾年,居然去報名的學生不少,簡直是藐視天下程序員。培訓出來的「程序員」大多不知道OO,OP為何物?社會環境如是,我們不能改變,只能改變自己,鬧市中的安寧,彌足珍貴。許多初學者C++/Java沒開始學,立馬使用VC/JBuilder,會使用 VC/JBuilder開發一個Hello World程序,就忙不迭的向世界宣告,"我會軟體開發了",簡歷上也大言不慚地寫上"精通VC/Java"。結果到軟體公司面試時要麼被三兩下打發走了,要麼被駁的體無完膚,無地自容。到處碰壁之後才知道捧起《C++編程思想》《Java編程思想》仔細鑽研,早知如此何必當初呀。
"你現在講究簡單方便,你以後的路就長了",好象也是佛經中的勸戒。
1.4多實踐,快實踐
彭端淑的《為學一首示子侄》中有窮和尚與富和尚的故事。
從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝聖,你看怎麼樣?"富和尚說:"這里離南海有幾千里遠,你靠什麼去呢?"窮和尚說:"我只要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!" 一年以後,富和尚還在為租賃船隻籌錢,窮和尚卻已經從南海朝聖回來了。
這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到准備周全之後,再去幹事情。假如事情准備考慮周全了再上路的話,別人恐怕捷足先登了。軟體開發是一門工程學科,注重的就是實踐,"君子動口不動手"對軟體開發人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認為,學習編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
1.5多參考程序代碼
程序代碼是軟體開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
多多參考代碼例子,對Java而言有參考文獻[4.3],有API類的源代碼(JDK安裝目錄下的src.zip文件),也可以研究一些開源的軟體或框架。
1.6加強英文閱讀能力
對學習編程來說,不要求英語, 但不能一點不會,。最起碼像Java API文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"。看多了就會越來越熟練。在學Java的同時學習英文,一箭雙雕多好。另外好多軟體需要到英文網站下載,你要能夠找到它們,這些是最基本的要求。英語好對你學習有很大的幫助。口語好的話更有機會進入管理層,進而可以成為剝削程序員的"周扒皮"。
1.7萬不得已才請教別人
筆者在Martix與Java論壇的在線輔導系統中解決學生問題時發現,大部分的問題學生稍做思考就可以解決。請教別人之前,你應該先回答如下幾個問題。
你是否在google中搜索了問題的解決辦法?
你是否查看了Java API文檔?
你是否查找過相關書籍?
你是否寫代碼測試過?
如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
1.8多讀好書
書中自有顏如玉。比爾蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾蓋茨就已經讀完了所有的網路全書,所以他精通天文、歷史、地理等等各類學科,可以說比爾?茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。
筆者在給學生上課的時候經常會給他們推薦書籍,到後來學生實在忍無可忍開始抱怨,"天吶,這么多書到什麼時候才能看完了","學軟體開發,感覺上了賊船 "。這時候,我的回答一般是,"別著急,什麼時候帶你們去看看我的書房,到現在每月花在技術書籍上的錢400元,這在軟體開發人員之中還只能夠算是中等的 ",學生當場暈倒。(註:這一部分學生是剛學軟體開發的)
1.9使用合適的工具
工欲善其事必先利其器。軟體開發包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設計模型、編程實現、調試程序、自動化測試、持續集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發效率,使軟體的質量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。
2.軟體開發學習路線
兩千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒進也不保守並非中庸之道,而是找尋學習軟體開發的正確路線與規律。
從軟體開發人員的生涯規劃來講,我們可以大致分為三個階段,軟體工程師→軟體設計師→架構設計師或項目管理師。不想當元帥的士兵不是好士兵,不想當架構設計師或項目管理師的程序員也不是好的程序員。我們應該努力往上走。讓我們先整理一下開發應用軟體需要學習的主要技術。
A.基礎理論知識,如操作系統、編譯原理、數據結構與演算法、計算機原理等,它們並非不重要。如不想成為計算機科學家的話,可以採取"用到的時候再來學"的原則。
B.一門編程語言,現在基本上都是面向對象的語言,Java/C++/C#等等。如果做WEB開發的話還要學習HTML/JavaScript等等。
C.一種方法學或者說思想,現在基本都是面向對象思想(OOA/OOD/設計模式)。由此而衍生的基於組件開發CBD/面向方面編程AOP等等。
D.一種關系型資料庫,ORACLE/SqlServer/DB2/MySQL等等
E.一種提高生產率的IDE集成開發環境JBuilder/Eclipse/VS.NET等。
F.一種UML建模工具,用ROSE/VISIO/鋼筆進行建模。
G.一種軟體過程,RUP/XP/CMM等等,通過軟體過程來組織軟體開發的眾多活動,使開發流程專業化規范化。當然還有其他的一些軟體工程知識。
H.項目管理、體系結構、框架知識。
正確的路線應該是:B→C→E→F→G→H。
還需要補充幾點:
1).對於A與C要補充的是,我們應該在實踐中逐步領悟編程理論與編程思想。新技術雖然不斷涌現,更新速度令人眼花燎亂霧里看花;但萬變不離其宗,編程理論與編程思想的變化卻很慢。掌握了編程理論與編程思想你就會有撥雲見日之感。面向對象的思想在目前來講是相當關鍵的,是強勢技術之一,在上面需要多投入時間,給你的回報也會讓你驚喜。
2).對於資料庫來說是獨立學習的,這個時機就由你來決定吧。
3).編程語言作為學習軟體開發的主線,而其餘的作為輔線。
4).軟體工程師著重於B、C、E、D;軟體設計師著重於B、C、E、D、F;架構設計師著重於C、F、H。
3.如何學習Java?
3.1 Java學習路線
3.1.1 基礎語法及Java原理
基礎語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎,你才能在J2EE、 J2ME領域游刃有餘。參加SCJP(SUN公司認證的Java程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉Java基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟體公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得"真正"的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。
3.1.2 OO思想的領悟
掌握了基礎語法和Java程序運行原理後,我們就可以用Java語言實現面向對象的思想了。面向對象,是一種方法學;是獨立於語言之外的編程思想;是 CBD基於組件開發的基礎;屬於強勢技術之一。當以後因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向對象的思想進行開發的基本過程是:
●調查收集需求。
●建立用例模型。
●從用例模型中識別分析類及類與類之間的靜態動態關系,從而建立分析模型。
●細化分析模型到設計模型。
●用具體的技術去實現。
●測試、部署、總結。
3.1.3 基本API的學習
進行軟體開發的時候,並不是什麼功能都需要我們去實現,也就是經典名言所說的"不需要重新發明輪子"。我們可以利用現成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那麼這些類中究竟提供了哪些方法給我們使用?方法的參數個數及類型是?類的構造器需不需要參數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,Java DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。
基本API指的是實現了一些底層功能的類,通用性較強的API,如字元串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查Java DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
3.1.4 特定API的學習
Java介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發,那麼你需要學習Swing/AWT/SWT等API;如果你進行網路游戲開發,你需要深入了解網路API/多媒體API/2D3D等;如果你做WEB開發,就需要熟悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。
3.1.5 開發工具的用法
在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急於上手JBuilder/Eclipse等集成開發環境,以免過於關注IDE的強大功能而分散對Java技術本身的注意力。過了這一階段你就可以開始熟悉 IDE了。
程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、 Eclipse等IDE中已經自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發變得更輕松。應該說IDE發展的趨勢就是集成軟體開發中要用到的幾乎所有工具。
從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程序員轉變的里程碑。
Java開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder 佔有的市場份額是最大的。JBuilder在近幾年來一直是Java集成開發環境中的霸主,它是由備受程序員尊敬的Borland公司開發,在硝煙彌漫的 Java IDE大戰中,以其快速的版本更新擊敗IBM的Visual Age for Java等而成就一番偉業。IBM在Visual Age for Java上已經無利可圖之下,乾脆將之貢獻給開源社區,成為Eclipse的前身,真所謂"柳暗花明又一村"。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發展潛力。
3.1.6 學習軟體工程
對小型項目而言,你可能認為軟體工程沒太大的必要。隨著項目的復雜性越來越高,軟體工程的必要性才會體現出來。參見"軟體開發學習路線"小節。
3.2學習要點
確立的學習路線之後,我們還需要總結一下Java的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,不要嫌我婆婆媽媽啊。
3.2.1勤查API文檔
當程序員編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用"Javadoc"工具(包含在JDK中)生成標準的Java DOC文檔,供同行使用。J2SE/J2EE/J2ME的DOC文檔是程序員與程序員交流的工具,幾乎人手一份,除了菜鳥之外。J2SE DOC文檔官方下載地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下載。也可以在線查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。
對待DOC文檔要像毛語錄,早上起床念一遍,吃飯睡覺前念一遍。
當需要某項功能的時候,你應該先查相應的DOC文檔看看有沒有現成的實現,有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現。使用步驟一般如下:
●找特定的包,包一般根據功能組織。
●找需要使用類,類命名規范的話我們由類的名字可猜出一二。
●選擇構造器,大多數使用類的方式是創建對象。
●選擇你需要的方法。
3.2.2 查書/google->寫代碼測試->查看源代碼->請教別人
當我們遇到問題的時候該如何解決?
這時候不要急著問別人,太簡單的問題,沒經過思考的問題,別人會因此而瞧不起你。可以先找找書,到google中搜一下看看,絕大部分問題基本就解決了。而像"某些類/方法如何使用的問題",DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。
3.2.3學習開源軟體的設計思想
Java領域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什麼的,風光一把。分析開源軟體其實是你提高技術、提高實戰能力的便捷方法。
3.2.4 規范的重要性
沒有規矩,不成方圓。這里的規范有兩層含義。第一層含義是技術規范,多到http://www.jcp.org下載JSRXXX規范,多讀規范,這是最權威准確最新的教材。第二層含義是編程規范,如果你使用了大量的獨特演算法,富有個性的變數及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多麼的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規范到此查看或下載http://Java.sun.com/docs/codeconv/,中文的也有,啊,還要問我在哪,請參考3.2.2節。
3.2.5 不局限於Java
很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑鬱症。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心願。
Java不要孤立地去學習,需要綜合學習數據結構、OOP、軟體工程、UML、網路編程、資料庫技術等知識,用橫向縱向的比較聯想的方式去學習會更有效。如學習Java集合的時候找數據結構的書看看;學JDBC的時候復習資料庫技術;採取的依然是"需要的時候再學"的原則。
4.結束語
需要強調的是,學習軟體開發確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎麼聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最後奉勸各位程序員尤其是MM程序員,完成工作後趕快遠離電腦,據《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比…… 拖起明天的夢想還得靠自己!
⑻ java程序員培訓有哪些課程什麼內容
java程序員培訓有哪些課程?什麼內容?今天昌平北大青鳥java老師就以昌平鍵賀譽北大青鳥java培訓課程為例為大家介紹。
昌平北大青鳥java培訓課程體系是基於廣泛的調研,及對數萬家企業用人需求的分析而精心設置的。課程打造的七項實用技能,讓學員不僅能熟練掌握及應用JAVA技術,更能達到企業的用人標准。下面詳細介紹昌平北大青鳥java培訓課程的內容。
1.夯實Java基礎:當前的Java新技術層出不窮,各企業有不同的側重,根據企業用人需求,只有具備堅實的Java基礎功底的程序員才能快速掌握新技術。昌平北大青鳥的Java基礎課程體系的深度在行業內首屈一指,學員會在核心演算法、面向對象應用、數據結構及集合框架、反射、輸入輸出、多線程、異常處理等方面深入細致地學習,而這些正是企業面試中最常涉及的問題,是學員獲得高薪的基礎。
2.熟習Linux操作系統:Linux是當前使用最廣泛的伺服器操作系統。昌平北大青鳥的Java授課過程全程在Linux環境中完成(學員使用電腦全部為Linux環境),同稿段時還專門設有Linux的相關課程。學員在成為合格的Java工程師的同時還會具備熟練的Linux操作技巧,這正是在企業面試中獲得加分的重要指標之一。
3.深入學習資料庫技術:當前的企業及互聯網應用完全離不開資料庫技術。在任何一個大中型應用中,資料庫設計的好壞、資料庫訪問的效率直接決定了該項目的成敗。昌平北大青鳥的資料庫技術包括當前最主流的Oracle和MySQL兩種資料庫,內容全面深入。除了資料庫體系結構和SQL語句之外,還在資料庫設計、SQL語句優化方面有很大的加強。
4.系統的Web前端技術:伴隨著互聯網技術由Web2.0向Web3.0邁進,Web前端技術,包括HTML、CSS特別是JavaScript語言越來越被企業所看重。很多企業專門為此新增「Web前端工程師」崗位。昌平北大青鳥的Java課程體系為此設置充足時間學習JavaScript及其相關的Ajax、JQuery框架、Ext-JS框架。毫不誇張地說,如果完全掌握了昌平北大青鳥的Web前端技術,甚至僅憑借JavaScript技能就可收獲一份不錯的工作。
5.企業級框架:Java是組件和框架的世界,幾乎所有的Java程序員和Java應用企業都了解Java框架的重要性。昌平北大青鳥技術專家經過嚴謹調研,了解Java企業客戶實際應用需求,按照企業需要定製了企業級框架課程。
(1)在Servlet/JSP課程中會獨立完成一個Struts1的框架,這樣就既了解了Struts1,又深入學習了MVC框架的底層原理。
(2)作為Java框架的佼佼者,Spring在企業應用中的地位一路攀升。新課程體系中進一步增加Spring的課程量,增加對其深入的了解,並且會涉及到由Spring衍生出的SpringSide等「腳手架」型框架。
(3)在深入領悟Spring核心基拍唯礎之上,重點加強目前最熱的SpringMVC和SpringJDBC內容,與企業實際應用接軌。
(4)數據持久層框架重點學習編碼簡潔,運行高效的MyBatis框架,並且也保留經典的輕量級框架Hibernate課程內容。
(5)在學習了流行的SpringMVC+MyBatis框架整體解決方案之後也要學習經典的SSH整合使用技術,全面且不落伍。
6.專門的企業開發及部署環境:企業在開發、測試、部署實際項目時需要有特定的軟體環境。很多企業和學員不太重視這些環境,導致在工作中出現很多問題和失誤甚至被淘汰。昌平北大青鳥Java課程體系中加入了專門的企業開發及部署環境課程,重點講述Linux高級命令及腳本編程、遠程登錄、Ant、單元測試技術、Maven構建技術、SVN應用技術等等。
7.規范的企業開發流程及文檔:軟體開發是團隊合作,因此企業開發流程和文檔規范尤為重要。這也是企業區分「草根程序員」和「正規程序員」的重要指標之一。昌平北大青鳥Java課程所有的實踐項目,無論規模大小,都嚴格按照企業開發的流程進行(需求分析、系統設計、編碼實現、單元測試、系統測試、部署上線),所有的開發文檔完全達到甚至已經超過了大多數企業的要求。