初學者該如何學習Java(附帶Java學習路線)

2020-07-16 10:04:53
有人說,Java 的書籍一看,一堆知識點,最開始學的時候就會很迷茫,根本不知道方向在哪裡,抱著一本書一頁一頁的翻,學完了,叫你寫個程式,做個專案,啥都不知道,和沒學一樣。

“學了四年的計算機課程,我們班大多數同學都不知道該幹什麼,能幹什麼,感覺好像什麼都學了,但是又什麼都幹不來!”

“面試的時候,很多單位問做過什麼專案,能幹什麼,我們都回答不上來,就連很多問題,我們都不知道。”

這些都是很多計算機專業畢業後學生們的感想,但是這幾乎成為了一種大學 IT 行業的毛病,也是很多學程式語言以後的人的想法。

就拿 Java 這個來說,很多人拿著書在學習的時候,是不是都一頁一頁的順著翻書看的?遇到問題都卡住了,要不然就去問老師,麻煩點就問其他人,但又感覺不好意思,再不然就失去信心,乾脆放棄了。有些時候,看書覺得懂了,一上機操作啥都不知道了……

其實這些都是誤區!學程式設計,一定要動手,遇到 bug 了,就自己去查,如果連這點都不想做,那我只能勸你別學了。程式設計師,有些時候產生的 bug 蒐遍全網都找不到解決方法,但是還是要自己去解決;如果就連一個隨便在網上一搜尋就出來的了 bug 都不願意去查,那還何談學習程式設計?

還有就是你要知道,你是新手,在學習過程中肯定會遇到非常多的麻煩,但是,所有人都是從新手走過來的。你遇到的問題,別人多多少少都遇到過,所以,除了學會查詢資料以外,大膽的提問,有些時候也會有一些意想不到的收穫。

還有比如,你的程式出現了一個 bug,你在網上找到了解決方法,但是別人用到了一個你沒學過的知識點,你該怎麼辦?對,書不要再一頁一頁的翻了!學程式設計,一頁一頁慢慢的學,沒用!哪裡想學,哪裡不會,看目錄,直接去讀。

所以說,學程式設計,其實就是在提升自己的自學能力,動手能力,邏輯能力,還有解決問題的能力。

“沒有學不好的語言,只有不努力的人!”我其實一直不太喜歡這句話。學習,尤其是程式語言,是有技巧的。如果什麼都去學,而不是精學工作和面試中的知識點,那不僅會造成學習效率相當底下,而且還會迷失在知識的海洋中。結果是,大家投入了大量的時間,也學到了不少的知識點,但是無法把學到的知識點整理成升職加薪的 Java 知識體系,說白了,也就是白學了。

筆者是一路自學 Java 過來的,走了不少的彎路,也有一定的開發經驗,做過一些專案,知道目前企業在 Java 方面對人員的普片需求,所以才想給大家指出一條學習 Java 的路線,不想讓大家再去走彎路。

Java學習路線

對於學習 Java EE 的讀者,可以分為初級、中級和高階水平。

Java EE 初級

掌握計算機入門,包括DOS 命令,什麼是程式,如何設定 JAVA 開發環境,JAVA 程式設計的過程是怎樣的,JAVA 有什麼特點,程式是如何執行的。

掌握程式設計基礎比如變數,基本資料型別,進位制,跳脫字元,運算子,分支語句和迴圈語句等。方法與陣列,還有徹底掌握物件導向的思想。如果能掌握這些,那麼恭喜你,你已經入門 Java 語言了。

Java EE 中級

Java EE 的中級水平是要求掌握 Eclipse 用法與例外處理技術,Debug 偵錯技術,Java 常用類庫,檔案與 IO,集合框架,多執行緒並行技術,網路程式設計,反射和泛型特點,正規表示式,列舉和註解,XML 和 JSON,GUI 事件處理,Web 前端開發基礎和框架,Servlet 和 JSP 在 Web 後端的應用,MVC 和分層架構,以及專案開發流程以及 CASE 工具的使用。

Java EE 高階

Java EE 高階便是要求掌握 Mybatis 框架,Spring 框架,使用 Hibernate 實現持久層 RESTful 架構和行動端介面,設計第三方介面和線上支付功能,MyBatis 的應用和 SSM 整合。

要掌握分散式基礎知識點:Linux 常見命令,Jdktomcat 設定,maven 私服,阿里雲設定 redis 和 mysql 等。

還要掌握 JVM 高階特性,JVM 效能監控和調優等等。

由於篇幅和教學相對應的人員的問題,JavaEE 高階相關知識點,筆者也就不在此教學中講述了。

筆者建議,如果沒有任何程式設計基礎的讀者,先學習C語言的語法,Java 的語法和C語言的大同小異;若是有一定程式設計基礎了,那麼就可以開始學習 Java 或者直接進入物件導向思想的教學部分了。

最後,祝大家學習愉快!