必看Java學習路線——四個階段
先說明一下我的情況,我是從研一才開始接觸Java,然后自己摸索,期間真是摸打滾爬過來的。我學的是通信專業,但是研究生導師項目都是java應用項目,因此當時也就很自然的學習了java。后面慢慢發現java使用場景非常廣泛,生態也很好,漸漸驅使了我對java的興趣。學習一門語言的時候,一定要選自己感興趣的,而且要有自己的目標,不然的話,后期很難堅持下來,除非你有很強的自律性。每個人前進都是有自己的驅動力,所以找到屬于自己的驅動力,才能保證你不斷的進步。
Java第一階段
我一開始學習Java的時候,看的是圣思源的視頻,這個視頻的好處就是在學習Java基礎的時候,完全脫離一些集成的工具,就是用編輯器(notepad++)寫好程序,手動通過命令行去編譯,再執行,讓你能夠了解其中的原理,以及鍛煉自己的動手能力。如果一上來就上你用Eclipse或者其它工具,把一些底層的東西屏蔽掉,開始學習的時候大家可能連class文件都沒有見過,只是知道寫了這行代碼,運行之后它會出來什么結果。我都是邊看視頻邊跟著敲代碼,有助于記憶。
知識點梳理:
基本概念:類、對象、繼承、抽象、覆寫等
集合:Collection集合、List集合、Set集合、Map集合
異常:Java中異常處理機制和應用,自定義異常
IO:File類,字符流、字節流、轉換流、緩沖流、遞歸
網絡編程:Socket
線程:線程的生命周期,Java線程池,線程同步問題,線程死鎖問題
繼承和接口:Class,Interface
反射:動態代理
Mysql和JDBC開發:Mysql數據庫,JDBC,DBUtils,DBCP連接池
書籍推薦:HeadFirstJava,Java核心技術
Java第二階段
Java基礎學習完之后,我是開始學習Javaweb,在一開始的幾天比較迷茫,因為感覺自己寫的東西沒有用處,比如寫個計算器什么的,生活中沒有什么用,可能是太過于看結果導致的。這個時候應該去做一些有趣的事情,學習新的知識,開發新的大陸,這就是我們的Web開發了,主要包括前端頁面(HTML/CSS/JS),Servlet/JSP,以及Mysql相關的知識。
知識點梳理:
前端技術:HTML、CSS、JS、JQuery、Bootstrap
JavaWeb核心內容:Servlet、JSP、XML、HTTP、Ajax、過濾器、攔截器等
Mysql和JDBC:復習
推薦書籍:相關的Web書籍都可以,可以順帶著看Java編程思想
Java第三階段
這個階段是在你掌握第二階段之后開始,如果學習了第二個階段之后想找工作的話,還需要在學習一些主流的框架知識。之前比較主流的框架是SSM框架,既Spring,SpringMVC,Mybatis。要學會這些框架的搭建,以及用它們作出一個簡單的WEB項目,包括增刪改查的功能?,F在比較流行的應該是springboot、springscurity、springcloud一套了。
搭建這三個框架的時候,一定要記錄自己搭建的過程,這個在你工作之后肯定會用到的。在搭建的過程,我們通過網上查找資料或是跟著視頻學習,都會接觸到Maven這個工具,這個工具在你工作之后,也一定會用到的,可以順帶著了解,你不一定要去完全掌握,只要學會使用,知道基本原理就可以。學會使用之后,自己要跟著老師或者從網上去理解更多的東西,比如那些配置文件等。
知識點梳理:
Spring框架:配置文件、IoC思想、DI依賴注入、面向切面編程、事務等。
Springboot:自動配置原理、結合消息隊列、redis、es等的使用
SpringMVC:框架原理、交互、攔截器等。
Maven:安裝使用、基本操作。
Mybatis:框架原理、Mybatis開發DAO方式、與其它框架的整合。
推薦書籍:Spring實戰,EffectiveJava,Java編程思想
Java第四階段
這個時候相信你已經能夠完成獨立開發,并且也工作了,對付工作上面的時候,你的技術一定是可以的。但是這個時候不要對自己進行松懈,你要繼續學習,而不是工作只是為了應對工作,你應該提升自己的價值。這個時候可以去看一些比較底層的書籍,比如《深入理解Java虛擬機》,這本書就是全面幫助你了解Java虛擬機,這個時候想必你一定知道Java是運行在JVM上的,你沒有任何理由不去了解JVM。另外,關于并發這方面,推薦《Java并發編程實戰》,這本書啃完之后,對并發的理解應該有一定的體會了。