個人看書學習java的心得,java讀書心得

本文目錄一覽:

學習本月JAVA內容後有什麼感受

轉眼間在從大一踏進學校的校門到現在剛剛好兩年了,在這兩年裏面,有學到了不少東西,包括怎麼去獨立生活,怎麼去與人溝通,等等,當然最重要的還是學到了自己想要的專業知識。

大一的時候主要是學習計算機導論和C語言,對於急於想看到效果的我,C語言學起來就比較枯燥,因為C語言編寫出來的程序主要還是在命令行的操作,我很想開發出windows界面的軟件出來,但是沒有辦法,C語言是基礎,沒有這個基礎就往高處想,恐怕夢想不會那麼容易實現。所以我就認真的把C語言的基礎打好,先掌握好裏面的語法,程序控制邏輯和一些基本的算法,說真的,儘管是比較枯燥,但是一旦陷入了編程中,自然就會發現其中的快樂。

大一第二學期的時候開始接觸NIIT的課程,平時雖然一點作業都沒有,但是我上課的時候不是那麼認真聽課的人,所以課後總是要花時間來看看和理解老師上課的例子,在這個學期中,我們主要學習了C++和Java,都是剛剛開始接觸到面向對象的語言中來,由於對一些面向對象的特性不熟悉,畢竟是剛開始接觸這方面的語言,所以學起來就有點吃力,再加上平時實踐的時間比較少。

終於到了學期的期末,學期期末的項目是使用Java語言開發一個網絡的聊天室,在我還沒有開發之前一聽到這個項目,我做夢都沒有想到我可以編寫出一個聊天室出來,但是既然是課程提出來的項目,就一定有它的理由,我也相信最後一定也可以完成它。功夫不負有心人,經過接近一個月的研究,我總於完成了我來到學校的第一件作品。在這個月中,我不斷得查閱資料,詢問老師,平時和同學多交流,終於在最後的評審中,我獲得了全班第二的好成績。通過這個學期的開發中,我幾乎把整個學期學到的知識都用到了我的聊天室裏面,所以在實踐中也等於複習了這個學期所學的內容,而且我發現這樣的實踐,比我在平時課後看書,看資料所學到的還多。

大二的第一學期,進入了數據庫和高級Java的學習,說真的,在學數據庫的那段時期是最煩的,因為每天就學了一大堆SQL的語言,非常的枯燥,都是關於怎麼去查找數據表格裏面的內容,那是時期,因為課堂上聽課了之後覺得都是比較簡單的,所以課後很少去動手。到了後來項目開發中,我才發現數據庫的重要性,整個系統的信息都是存儲在數據庫裏面的,所有的在程序中對數據的操作都是等同於對數據的增刪改查詢操作。

在期末的項目中,根據項目所要求的內容,我不斷翻看以前沒有掌握好的數據庫知識,感覺如果我前面有認真學習的話,到了後面開發項目的時候就不會那麼吃力了。對此,我總結出,如果在前面學數據庫的時候不要單純學習SQL的語言,把數據庫和程序結合起來,如果老師的講課的過程中可以說清楚數據庫怎麼綁定到程序中去使用的話,那麼我想對於我來說我會更加有興趣去學好數據庫,因為只要在程序開發中才可以去體驗數據庫的魅力和重大的作用。

在學期末的J2EE開發電子商務網站中,我學到了很多關於怎麼製作動態網頁的一些必要元素的基本的原理,體會到軟件設計在網站開發中的重要性。

轉眼間來到了大二的第二個學期,可以說在這個學期中,是我最有感觸,學到最多知識,達到質的飛躍的一個重要學期。有了前面幾個學期的學習基礎,我對面向對象語言已經基本掌握清楚,運用起來也覺得沒有什麼特別困難,基本已經入門了,這個學期主要是進入了.net的學習。

好的開發工具是保證效率的一個重要因素,Microsoft Visual Studio .NET 2003就是這樣的一個開發工具,令我剛剛一接觸就深深得愛上了它,它的易學易用令我對編程的興趣倍增,以前學習Java之所以見效不大是因為沒有好的開發工具和環境,總是在環境配置中浪費大量的時間,而真正的涉及到編程很少,所以這也是我以前為什麼學起來沒有那麼有興趣的原因。

我覺得學編程就應該學習它的思想,編寫代碼就應該盡量避免寫出與邏輯無關的代碼,比如界面代碼可以讓機器去自動生成不必浪費時間手動去編寫,所以好的開發工具可以幫助我們做到這一點,只編程邏輯代碼,很多代碼都可以讓機器去自動生成。在.net就可以快速地開發既有漂亮界面也有強大功能的程序。有了這麼好的開發工具,所以令我頓時感悟,有種相見恨晚的感覺。

有了好的開發工具後接下來要做什麼呢,當我們為之興奮的時候,當然是很有慾望去做出某某自己很想做的東西,因為你一拿到好的開發工具,就會整天的陷入開發狀態,對其愛不釋手,一開始我是試着開發一個Flash播放器,感覺編寫起來不是編寫起來不是那麼難,因為前面已經有學習Java的經驗了,初次學習.net的時候選擇編寫Flash播放器也是有理由的,一方面是程序比較簡單,另一方面的涉及到的控件和界面比較多,所以一開始接觸這樣的語言就首先學習怎麼去調用.net平台上提供的控件,只要掌握好這些控件,以後編寫windows界面的控件就簡單很多了。

經過幾天的時間,終於把Flash播放器做出來了,以後想Flash影集的時候都用自己開發的播放器進行播放,感覺別有一翻滋味,因為這就是為自己量身定做的,這就使我再一次感覺到開發的樂趣。

每年的11月份都有一個高校杯的軟件設計大賽,這時間正到了5月,我們屈指一算,離比賽的時間還有6個月的時間,這段時間我正處在開發的興奮期,所以對這個軟件設計比賽就感興趣起來,第一是可以知道自己的編程程度和其他人的距離,第二是可以利用這個一個項目實踐來鍛煉自己的開發技能,第三是可以鍛煉團隊的合作。以前幾乎都是自己開發的軟件,很少和其他人合作,所以就令我想到這種開發模式將來帶到工作會另自己處於不利的地位,現在不是都講究團隊的合作么。

經過思考後,我找來另外的兩個志同道合的同學,利用五一放假的時間想好主題,還有進行需求分析,最後定下來「多媒體日記本」這一項目。定好題目後我們就進行了分工,一個人負責數據庫方面,一個人負責界面的美化和界面的布局,另外一個負責功能的實現,分好工後我們立刻就展開了工作,在合作的過程中,我們學到了許多課本上沒講的或者只是粗略帶過的知識,有些特別的技術難點還要到網上去搜索,查閱有關的資料,在語言方面我們幾乎把.net裏面的基本框架和特性都用上了,這樣對於我們學習就達到了事半功倍的效果,邊學邊做學到的知識可以很快吸收,又可以很快得運用的實際中去,這是我通過這個項目感觸最深的。很快就到了期末,學校舉行「IT精英杯」軟件大賽,我們小組終於不負眾望,拿到了一等獎的好成績。

經過這次我比賽我總結出心得,首先比賽的題目要定好,一方面是開發的軟件要有實用性和市場前景,另一方面還要在實用性上加上點創新,給人耳目一新的感覺,我覺得只要先抓住好這兩點,做出來的軟件才會給人留下好的印象。

利用暑假的時間,我又參加系裏面組織的軟件工程培訓,又一次在開發項目中學到了許多許多看書只能朦朧懂的知識。

轉眼間大三第一個學期就開學了,回顧這兩年來學習軟件開發的經歷,寫了這樣的一遍心得,一方面算是對自己的總結,另一方面也可以拿出來給大家參考和交流。最後我還是要再歸納一次,總結出如何才可以比較容易地進入學習狀態達到快速開發的目的。

1. 打好基礎,掌握好C語言C++基礎的語言,對學習數據結構和算法有很大的幫助。

2. 面向對象是高級也是最流行的語言,所有的面向對象語言幾乎都是通用的,結構和特性都差不多,只要掌握和歸納好它們的一些共同的特性,哪怕將來轉向其他的語言都是輕而易舉,得心應手,達到融會貫通的效果。

3. 好的開發工具是你提高開發效率,提高編程興趣的前提,學習語言的過程中還應該研究怎麼利用開發工具有效地提高開發的效率。

4. 善於總結,在開發過程中我們可以總結出許許多多規律性的東西,這些規律一方面可以讓我們避免在以後的開發中犯同樣的錯誤,另一方面對我們掌握其他的規律都是有所幫助的,規律都是交叉在一起的。跟着規律走,實事求是。

5. 項目開發是最好的學習方法,這一點是我最有感觸的,軟件開發是實踐性很強的活動,但靠理論知識學起來比較吃力,而且枯燥無味,學習種理論學習和開發實踐的比例應該是1:2,而且是交叉進行。這樣才可以比較快的掌握一個知識點。

6. 團隊合作,現在的項目幾乎很少一個人去完成,頻繁的溝通和密切的配合是成功的必要條件。

Java學習心得?

學習了一學期的Java課程,覺得是該總結自己的心得體會了。開始學習任何一門課(包括java),興趣最重要。一直覺得自己在學計算機編程語言,學習了很多,但每門語言都停留在知識邊緣地帶,都沒深入到它們的精華部分,對它們的精華部分知之甚少,於是趁學校開設這門課,並且有自己的老師講解,還有了上機的機會,比自己自學省事多了,於是鼓足信心,開始了漫長的java征途。

還記得我編寫的第一個經典程序「hello Word」。從那時起我已開始走進Java的世界。當時自己不是很理解為什麼main方法一定要這樣來定義public static void main(String[] args),能不能不這樣寫?問了好多同學,他們告訴我的答案是一樣的「java本身要求就是這樣子的」,但我自己不甘心,就進行了下面的好多操作:把main改個名字運行一下,看看報什麼錯誤,然後根據出錯信息進行分析;把main的public取掉,在試試看,報什麼錯誤;static去掉還能不能運行;不知道main方法是否一定要傳一個String[]數組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫args參數名稱的,也可以把args改成別的名字,看看運行結果如何。 結果把Hello World程序反覆改了七八次,不斷運行,分析運行結果,最後就徹底明白為什麼了main方法是這樣定義的了。接着在以後的學習中我也採用這樣的方法解決問題,卻發現自己的速度比別人慢了好多,我就把自己的課餘時間也分一部分給了java。

因為基礎是最重要的,只有基礎牢固才有可能對後面的學習有更加深刻的認識!

學習一門新的語言,參考書是離不開的。聽老師說訂的教材偏難,不適合我們初學者,於是我在圖書館借了參考書(一本篇幅較短的入門書來學習那些最簡單、最基本的東西,包括學習Java語法等)。同時,對一個最簡單的程序也應該多去調試,多想想如果改動一下會出現什麼結果?為什麼必須那樣寫?多去想想這些問題然後去操作,會讓你有更多的收穫。這樣反覆地思考是很有用的。

在學習Java的語法時,Java的語法是類似c語言的,所以學習的比較輕鬆。唯一需要注意的是有幾個不容易搞清楚的關鍵字的用法,public,protected,private,static,什麼時候用,為什麼要用,怎麼用,和同學一起討論了好久才得以解決。

在學習Java的面向對象的編程語言的特性。比如繼承,構造器,抽象類,接口,方法的多態,重載,覆蓋,Java的異常處理機制。對於一個沒有面向對象語言背景的人來說,我覺得這個過程需要花很長很長時間,因為學習Java之前沒有C++的經驗,只有C語言的經驗,花了很長時間,才徹底把這些概念都搞清楚,把書上面的例子反覆的揣摩,修改,嘗試,把那幾章內容反覆的看過來,看過去,看了很多遍,才徹底領悟了。

開始熟悉Java的類庫。基礎類庫裏面的類非常非常多。據說有3000多個。但是我真正使用的只有幾個,比如說 java.io.*; java.util.*; java.sql.*;等。

在學習Java的過程中我得出這樣的結論:

1.學習中,要養成良好的習慣(寫括號時要成對,字母大小寫要區分,單詞拼寫要準確)。

2.在學習的過程中,最好不是僅僅停留在java表層,不是抄書上的例子運行出結果就可以。要注意,即便對一個簡單的例子也要有耐心去琢磨、調試、改動。

3.在學習的過程中一定要動手做、試着寫代碼,而不是抱一本書看看就行。很多東西和體會必須自己動手才能真正屬於自己。

4.在 Java 的學習過程中,可能會遇到形形色色的問題不容易解決,應多去專業論壇了解相關的知識,書本上的知識有限。要會從網上搜索有用的信息 加以整理,促進學習的深入和知識水平的提高。

看了好多網上課程,說學到一定程度要嘗試着自己做東西,但覺得自己僅僅經過一學期的學習,還遠遠不夠,希望自己在以後學習中繼續努力,能夠真真正正擁有一門編程語言,對自己今後的發展起到作用。在學習java語言的同時,也讓我學會了如何來發現問題,如何解決問題,怎樣有效的學習等等,相信會對我一生都有幫助。

java培訓心得體會

如需學習Java,推薦選擇【達內教育】。學習Java過程的心得體會有以下這些:

1、學習中,要養成良好的習慣。

2、在學習的過程中,不要僅停留在java表層,不是抄書上的例子運行出結果就可以。要注意,即便對一個簡單的例子也要有耐心去琢磨、調試、改動。

3、在學習的過程中一定要動手做、試着寫代碼,而不是抱一本書看看就行。很多東西和體會必須自己動手才能真正屬於自己。

4、在Java的學習過程中,可能會遇到形形色色的問題不容易解決,應多去專業論壇了解相關的知識,書本上的知識有限。要會從網上搜索有用的信息加以整理,促進學習的深入和知識水平的提高。感興趣的話點擊此處,免費學習一下

想了解更多有關Java的相關信息,推薦諮詢【達內教育】。秉承「名師出高徒、高徒拿高薪」的教學理念,是達內公司確保教學質量的重要環節。作為美國上市職業教育公司,誠信經營,拒絕虛假宣傳是該機構集團的經營理念。該機構在學員報名之前完全公開所有授課講師的授課安排及背景資料,並與學員簽訂《指定授課講師承諾書》,確保學員利益。達內IT培訓機構,試聽名額限時搶購。

學習Java!!!

想要學好Java,需要有正確的學習路線,有堅持不懈的學習毅力,也需要有專業老師的指導,這樣才能學得更好。那麼,學習Java需要掌握哪些知識和技能呢?這裡簡單列舉一些。

Java學習需要掌握的知識與技能:

1、Java SE部分 初級語法,面向對象,異常,IO流,多線程,Java Swing,JDBC,泛型,註解,反射等。

2、數據庫部分,基礎的sql語句,sql語句調優,索引,數據庫引擎,存儲過程,觸發器,事務等。

3、前端部分, HTML5 CSS3 JS, HTML DOM Jquery BootStrap等。

4、Java EE部分,Tomcat和Nginx服務器搭建,配置文件,Servlet,JSP,Filter,Listener,http協議,MVC等。

5、框架部分,每個框架都可以分開學,在去學如何使用SSM 或者SSH框架,如何搭建,如何整合。開發中為什麼會用框架,Rest是啥?Spring為啥經久不衰,底層如何實現等。

6、23種設計模式,掌握常用的,比如單例模式的多種實現,責任鏈模式,工廠模式,裝飾器模式等,了解常用場景。

7、基礎算法和數據結構,八大排序算法,查找算法。

8、熟練使用maven等構建工具,git等版本控制工具,熟悉常用linux命令,log4j,dubug,junit單元測試,日誌打印工具,Redis等NoSql。

互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。

想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,建議實地考察對比一下。

祝你學有所成,望採納。

學習java的心得

Java前景是很不錯的,像Java這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習Java可以按照路線圖的順序,

0基礎學習Java是沒有問題的,關鍵是找到靠譜的Java培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:

1. 師資力量雄厚

要想有1+12的實際效果,很關鍵的一點是師資隊伍,你接下來無論是找個工作還是工作中出任哪些的人物角色,都越來越愛你本身的技術專業java技術性,也許的技術專業java技術性則絕大多數來自你的技術專業java教師,一個好的java培訓機構必須具備雄厚的師資力量。

2. 就業保障完善

實現1+12效果的關鍵在於能夠為你提供良好的發展平台,即能夠為你提供良好的就業保障,讓學員能夠學到實在實在的知識,並向java學員提供一對一的就業指導,確保學員找到自己的心理工作。

3. 學費性價比高

一個好的Java培訓機構肯定能給你帶來1+12的效果,如果你在一個由專業的Java教師領導並由Java培訓機構自己提供的平台上工作,你將獲得比以往更多的投資。

希望你早日學有所成。

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文檔官方下載地址:,你可以到google搜索CHM版本下載。也可以在線查看:。

對待DOC文檔要像毛語錄,早上起床念一遍,吃飯睡覺前念一遍。

當需要某項功能的時候,你應該先查相應的DOC文檔看看有沒有現成的實現,有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現。使用步驟一般如下:

●找特定的包,包一般根據功能組織。

●找需要使用類,類命名規範的話我們由類的名字可猜出一二。

●選擇構造器,大多數使用類的方式是創建對象。

●選擇你需要的方法。

3.2.2 查書/google-寫代碼測試-查看源代碼-請教別人

當我們遇到問題的時候該如何解決?

這時候不要急着問別人,太簡單的問題,沒經過思考的問題,別人會因此而瞧不起你。可以先找找書,到google中搜一下看看,絕大部分問題基本就解決了。而像”某些類/方法如何使用的問題”,DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。

3.2.3學習開源軟件的設計思想

Java領域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什麼的,風光一把。分析開源軟件其實是你提高技術、提高實戰能力的便捷方法。

3.2.4 規範的重要性

沒有規矩,不成方圓。這裡的規範有兩層含義。第一層含義是技術規範,多到下載JSRXXX規範,多讀規範,這是最權威準確最新的教材。第二層含義是編程規範,如果你使用了大量的獨特算法,富有個性的變量及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多麼的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規範到此查看或下載,中文的也有,啊,還要問我在哪,請參考3.2.2節。

3.2.5 不局限於Java

很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑鬱症。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心愿。

Java不要孤立地去學習,需要綜合學習數據結構、OOP、軟件工程、UML、網絡編程、數據庫技術等知識,用橫向縱向的比較聯想的方式去學習會更有效。如學習Java集合的時候找數據結構的書看看;學JDBC的時候複習數據庫技術;採取的依然是”需要的時候再學”的原則。

4.結束語

需要強調的是,學習軟件開發確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎麼聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最後奉勸各位程序員尤其是MM程序員,完成工作後趕快遠離電腦,據《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比…… 拖起明天的夢想還得靠自己!

原創文章,作者:LWUVD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330995.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LWUVD的頭像LWUVD
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論