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