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