一般企業(yè)面試和筆試的時候主要考核的能力:底層原理、數(shù)據(jù)結(jié)構(gòu)、實戰(zhàn)經(jīng)驗,設(shè)計思維;這四個方面,基于這四點首先可以知道一個可以就業(yè)的Java程序員需要具備底層原理扎實和實戰(zhàn)能力。
所以作為初學(xué)者,需要從下面五點開始注意:
- Java語法本身的掌握
- 面向?qū)ο蟮乃季S模式
- 程序基于內(nèi)存底層的運行方式
- 基本的數(shù)據(jù)結(jié)構(gòu)和算法
- 根據(jù)項目將以上所有知識融合,并且了解設(shè)計模式
根據(jù)上述所說內(nèi)容,聊聊Java基礎(chǔ)如何進行學(xué)習(xí)。
Java簡化版路線圖:
Java SE基礎(chǔ)-->Java Web-->Maven-->Git-->SSM框架 -->MybatisPlus-->Spring Boot--> Spring Cloud-->Dubbo-->Zookeeper-->RabbitMQ-->RocketMQ-->Docker-->Redis -->MongoDB-->搜索技術(shù)Elasticsearch-->傳智健康【醫(yī)療行業(yè)】-->SaaSiHRM【企業(yè)服務(wù)】-->好客租房【生活服務(wù)】-->萬信金融【金融行業(yè)】-->閃聚支付【聚合支付】-->權(quán)限管理一體化解決方案-->短信網(wǎng)關(guān)平臺-->Java大廠面試專題課。
*步、Java的敲門磚
很多初學(xué)者在學(xué)習(xí)之前會糾結(jié)用什么開發(fā)工具,怎么配置開發(fā)環(huán)境。這里給大家的建議是,不必在這些內(nèi)容上糾結(jié)很久,先入門是要緊的,當(dāng)了解了開發(fā)工具的使用后再選擇自己喜歡的。
第二步、學(xué)習(xí)語言特性
數(shù)據(jù)類型、運算符、變量,這就是編程的基礎(chǔ),不光是Java有這些基礎(chǔ),大多數(shù)編程語言都有,而且內(nèi)容非常相似,所以,很多人說先學(xué)好一門語言,再接觸另外一門語言的時候就會很容易。
第三步、控制語句
if、switch;for、while;死循環(huán)、循環(huán)嵌套也是編程的基礎(chǔ),有了控制語句外加變量的話,理論上我們就可以開始寫程序了。
第四步、面向?qū)ο?/h1>
面向?qū)ο蟮幕A(chǔ)內(nèi)容并不難理解,通過類和對象以及包的基本概念來學(xué)習(xí)。要在此時注意內(nèi)存分析,這樣會幫助我們對于對象的理解。
至于面向?qū)ο蟮母呒壊糠志褪?繼承、封裝和接口。抽象類以及內(nèi)部類概念。學(xué)習(xí)方法就是先掌握概念,先熟悉語法,后面再深入。前期的時候不是對于概念的理解不是很深刻也沒有關(guān)系,Java是需要大量練習(xí)的。
第五步、異常和處理
前期入門階段不用糾結(jié)于自定義異常,學(xué)會基本的用法就可以了。
第六步、數(shù)據(jù)結(jié)構(gòu)和算法
Java數(shù)據(jù)結(jié)構(gòu):數(shù)組 |鏈表| 隊列 | 棧 | 樹 | 堆 | 圖 |散列
Java經(jīng)典算法:8種排序 | 查找算法 | 分支算法 | 動態(tài)規(guī)劃 | 貪心算法 | 回溯算法
如果大家的目標是大廠,那數(shù)據(jù)結(jié)構(gòu)和算法就一定要好好學(xué)好好刷題,必備書單《大話數(shù)據(jù)結(jié)構(gòu)》《算法圖解》
第七步、常用類和JDK源碼
學(xué)習(xí)常用類的用法:包裝類、字符串相關(guān)類、時間類、Math類、File類等。學(xué)習(xí)過程中需要學(xué)會API怎么用。
至于JDK源碼的學(xué)習(xí),這里只是讓大家養(yǎng)成一個源碼閱讀的習(xí)慣大家可以跟著我們的結(jié)構(gòu)一起學(xué)習(xí):
第八步、容器和數(shù)據(jù)結(jié)構(gòu)
容器主要學(xué)習(xí):List、Set、Map,非常簡單,但是要和數(shù)據(jù)結(jié)構(gòu)結(jié)合學(xué)習(xí)就會點難度,但是這部分內(nèi)容好好學(xué)習(xí)多記筆記,可以輕松應(yīng)付面試。
第九步、IO流技術(shù)
有一部分同學(xué)會覺得IO流的學(xué)習(xí)有一定的難度,先掌握概念即可。
第十步、多線程技術(shù)
線程是企業(yè)面試經(jīng)常被問到的問題,不管是筆試還是面試,主要是學(xué)習(xí)基本使用、生命周期和狀態(tài)轉(zhuǎn)化。
Java并發(fā)編程:并發(fā)基礎(chǔ) | 線程 | 線程池 | 鎖 | 并發(fā)容器 | JUC
多線程和并發(fā)這是很難啃的骨頭,因為知識體系太龐大了,大家可以看書《Java多線程編程核心技術(shù)》。
第十一步、網(wǎng)絡(luò)編程
掌握前端技術(shù)只能做靜態(tài)網(wǎng)站,但它頁面數(shù)據(jù)一成不變,而動態(tài)網(wǎng)站可以根據(jù)數(shù)據(jù)庫中變更的數(shù)據(jù)實現(xiàn)不同的內(nèi)容展示,應(yīng)用更廣泛,因此程序員必須要學(xué)會做動態(tài)網(wǎng)站。使用Java做動態(tài)網(wǎng)站,我們需要學(xué)習(xí)Servlet、Filter、Session、cookie、JSP、EL表達式、JSTL等做動態(tài)網(wǎng)站的完整知識體系,學(xué)完可研發(fā)出OA系統(tǒng)、內(nèi)容網(wǎng)站、BBS等。
*后就是找到簡單的項目學(xué)習(xí),將我們所學(xué)的知識點進行融合。