JAVA資料庫(kù)
輸入機(jī)構(gòu)/課程/服務(wù)名稱

Java學(xué)習(xí)攻略

2021-11-27 16:49:16
# IT培訓(xùn) # Java



一、java基礎(chǔ)

做java開發(fā),java基礎(chǔ)是*需要下功夫的一項(xiàng)。在校招時(shí)*注重的就是基礎(chǔ),拿不出像樣的項(xiàng)目沒(méi)關(guān)系,但是基礎(chǔ)萬(wàn)萬(wàn)不可不牢固。

想要基礎(chǔ)扎實(shí),看書沉淀是必須的,有一些編程基礎(chǔ)的同學(xué)推薦閱讀《JAVA核心技術(shù) 卷1》,可以跳過(guò)圖形程序設(shè)計(jì)、事件處理、Swing、applet以及部分日志章節(jié),如果比較吃力也可以先跳過(guò)多線程章節(jié)。

看完一本書,一定要多加練習(xí)去理解和吸收??瓢嗟耐瑢W(xué)可以用java寫實(shí)驗(yàn),寫的同時(shí)一定要多多運(yùn)用學(xué)到的特性。練習(xí)階段各種設(shè)計(jì)模式套上去用,不要怕笨重,即使是濫用特性和設(shè)計(jì)模式也是一種有效的學(xué)習(xí)。

有了一定量的編程經(jīng)驗(yàn)后,可以再回過(guò)頭將《JAVA核心技術(shù) 卷1》速讀一遍,查漏補(bǔ)缺。同時(shí)我們開始擴(kuò)寬我們的知識(shí)領(lǐng)域,開始進(jìn)行JavaWeb的學(xué)習(xí)。


二、JavaWeb基礎(chǔ)

JavaWeb是一系列技術(shù)的綜合,也是大多數(shù)Java學(xué)習(xí)者日后的技術(shù)方向。及早的了解JavaWeb也有利于更深層面理解,Java在完整的應(yīng)用中,是如何與各個(gè)模塊交互并發(fā)揮作用的。

基礎(chǔ)篇包括Servlet和JSP的學(xué)習(xí)、tomcat的使用、理解MVC分層模式、mysql的基礎(chǔ)用法及JDBC、了解http協(xié)議。

1.這部分的學(xué)習(xí),我是通過(guò)《Head First Servlets and JSP》 。這本書輕松幽默讀起來(lái)很愉快,但是實(shí)在是很厚,而且部分技術(shù)已經(jīng)過(guò)時(shí),有時(shí)間的同學(xué)可以選讀。

2.可以看到這部分的內(nèi)容是很雜且多的,此階段注重廣度的基礎(chǔ)學(xué)習(xí),日后慢慢深入。

3. 重點(diǎn)要理解Servlet的原理以及生命周期。在完成這一部分的學(xué)習(xí)后,可以簡(jiǎn)單的做個(gè)小網(wǎng)站,包括注冊(cè)登陸,增刪改查等功能。如果想繼續(xù)折騰,可以考慮將項(xiàng)目部署在阿里云或者騰訊云上,一個(gè)完整可供他人訪問(wèn)的項(xiàng)目,所獲得的成就感是非凡的。


三、Java進(jìn)階

Java始終是我們JavaWeb開發(fā)體系中*核心的一環(huán),唯有不停地探索,才能把握住方向和機(jī)遇。

1.在做完一個(gè)簡(jiǎn)單完整的JavaWeb項(xiàng)目后,我們對(duì)代碼的認(rèn)知和理解會(huì)提高不少,這對(duì)接下來(lái)的深入學(xué)習(xí)打下基礎(chǔ)。Java圣經(jīng):《JAVA編程思想》 值得仔細(xì)品讀,作者的功力十分深厚,即使很多內(nèi)容還無(wú)法理解,但每次讀完一定會(huì)有所收獲。同樣建議跳過(guò)“圖形化用戶界面“章節(jié),這是一本伴隨我們技術(shù)成長(zhǎng)的好書,買一本放在旁邊,摸著就有底氣。

2.讀完編程思想,建議寫一個(gè)有一定復(fù)雜度和代碼量的后臺(tái)項(xiàng)目。

3.做完項(xiàng)目我們又該看書沉淀技術(shù)了,此時(shí)我推薦《Effective Java》,這本書并不厚但是干貨十足,作者講述Java的*佳實(shí)踐和經(jīng)驗(yàn)規(guī)則。它能幫助我們寫出清晰、健壯、高效的代碼,同時(shí)這本書涵蓋了非常多的面試考點(diǎn),一定要牢記于心!

4.最后還要深入學(xué)習(xí)Java多線程技術(shù)以及Java虛擬機(jī)原理,這兩部分難度較大,理解起來(lái)比較抽象。也許日后工作中,我們很少遇到并發(fā)問(wèn)題,不一定有機(jī)會(huì)進(jìn)行JVM調(diào)優(yōu),但是這部分一定要認(rèn)真對(duì)待,越理解底層寫出的代碼越高效,查bug時(shí)越準(zhǔn)確,另外更重要的是面試??迹⊥扑]兩本書《Java并發(fā)編程的藝術(shù)》《深入理解Java虛擬機(jī)》,以及并發(fā)編程網(wǎng):并發(fā)編程網(wǎng) - ifeve.com 重點(diǎn)掌握java內(nèi)存模型,各種鎖的原理及應(yīng)用,JVM GC垃圾回收原理。


四、JavaWeb進(jìn)階

圍繞整個(gè)java體系學(xué)習(xí),我們要筑起高高的城墻。

1.Linux,現(xiàn)在的服務(wù)器基本都是Linux系統(tǒng),也不存在圖形化操作界面。作為開發(fā)工程師推薦閱讀《The Linux Command Line》,有中文在線免費(fèi)版本TLCL。那本《鳥哥的Linux私房菜》更適合運(yùn)維工程師,就不推薦給大家了。學(xué)習(xí)的時(shí)候,可以去阿里云或騰訊云租一個(gè)學(xué)生服務(wù)器,每個(gè)月大概10元左右,直接ssh到云服務(wù)器上操作,能更好地模擬公司的開發(fā)及生產(chǎn)環(huán)境。

2.操作系統(tǒng)原理,主要學(xué)習(xí)進(jìn)程控制調(diào)度、進(jìn)程通信、存儲(chǔ)和設(shè)備管理、文件管理以及系統(tǒng)安全。這一部分可以通過(guò)看教材或者自行找一些網(wǎng)課補(bǔ)充。

3.數(shù)據(jù)庫(kù),可以買一本《MySQL必知必會(huì)》小冊(cè)子作為基礎(chǔ)入門,沒(méi)有什么理論的堆砌,是一本實(shí)踐指南。學(xué)習(xí)數(shù)據(jù)庫(kù)原理可以閱讀《MySQL技術(shù)內(nèi)幕》索引優(yōu)化、事務(wù)、鎖、范式都是重點(diǎn)。

4.網(wǎng)絡(luò)協(xié)議,入門可以讀《圖解HTTP》《圖解TCP/IP》如果要深入研究可以讀《UNIX網(wǎng)絡(luò)編程 卷1》和《TCP/IP詳解 卷1》大多數(shù)開發(fā)者接觸http和tcp、udp、ip協(xié)議比較多,但是對(duì)整體網(wǎng)絡(luò)協(xié)議棧有個(gè)完整了解是必要的。

5.數(shù)據(jù)結(jié)構(gòu)與算法,數(shù)據(jù)結(jié)構(gòu)是算法的基礎(chǔ),一定要清晰明了。算法則是筆試面試中無(wú)法繞過(guò)的難關(guān),推薦去LeetCode刷題,現(xiàn)在也有了中文官方網(wǎng)站:力扣 (LeetCode) 中國(guó)官網(wǎng) - 全球極客摯愛的技術(shù)成長(zhǎng)平臺(tái) 從easy難度開始刷起,積累一定題量之后,做算法題會(huì)很快找到類型方法。

6.SSM框架,Spring+SpringMVC+MyBatis可以說(shuō)是開發(fā)必備了,但框架只是錦上添花,不要太依賴框架進(jìn)行學(xué)習(xí)。當(dāng)我們能不依賴任何框架開發(fā)完整項(xiàng)目時(shí),才是真正掌握了它。*為重要的是理解Spring的兩個(gè)特性:IOC 反轉(zhuǎn)控制和DI 依賴注入。明白實(shí)現(xiàn)原理以及為什么要使用Spring,只有這樣才能在層出不窮的框架中靈活應(yīng)對(duì),立于不敗之地。

Spring系列教材 (一)- 教程 - how2j.cn

Spring MVC系列教材 (一)- 教程

Mybatis系列教材 (一)- 基礎(chǔ) - 入門教程 - how2j.cn


五、加分技能

1.前端,一些崗位要求全棧,即使不是全棧,懂得前端技術(shù)的后臺(tái)能寫出更加合理的接口,與前端工程師合作起來(lái)會(huì)更順利,理解項(xiàng)目更通透,解決問(wèn)題準(zhǔn)確迅速。

2.學(xué)習(xí)一門動(dòng)態(tài)語(yǔ)言,動(dòng)態(tài)語(yǔ)言開發(fā)起來(lái)更靈活迅速。同時(shí)比較動(dòng)態(tài)靜態(tài)語(yǔ)言的特點(diǎn),可以更好去提煉跳出語(yǔ)言束縛的代碼思想。推薦學(xué)習(xí)JavaScript或者Python等。

3.大數(shù)據(jù),大數(shù)據(jù)開發(fā)近幾年也是熱門方向之一,有興趣的同學(xué)可以學(xué)習(xí)。

4.熱門工具及框架,包括分布式Dubbo、緩存優(yōu)化redis、nginx、虛擬化技術(shù)docker等。一般來(lái)說(shuō)本科應(yīng)屆生不會(huì)要求很高,但是要對(duì)熱門技術(shù)有一定的了解。


六、常用網(wǎng)站推薦

GitHub: Build software better, together

Java學(xué)習(xí):How2J 的 Java教程

Linux命令行:TLCL

算法: 力扣 (LeetCode) 中國(guó)官網(wǎng) - 全球極客摯愛的技術(shù)成長(zhǎng)平臺(tái)

正則表達(dá)式測(cè)試:PHP, PCRE, Python, Golang and JavaScript



*文章內(nèi)容和圖片均來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。

查看剩余內(nèi)容
loading
Hi,我是教育寶平臺(tái)顧問(wèn) 添加我的微信,在查找或下載資料時(shí),有任何問(wèn)題,我會(huì)隨時(shí)為您解決~
loading
掃描二維碼 添加顧問(wèn)微信

點(diǎn)贊

收藏

資深學(xué)習(xí)規(guī)劃師,免費(fèi)幫您答疑解惑,定制學(xué)習(xí)方案
限時(shí)免費(fèi)咨詢
喜歡此內(nèi)容的人還喜歡
  1. Java基礎(chǔ)知識(shí)、高級(jí)框架及微服務(wù)一般涉及哪些知識(shí)點(diǎn)?
    攻略
    # IT技術(shù) # Java培訓(xùn)
  2. 程序員必備,學(xué)java需要安裝的軟件
    攻略
    # IT培訓(xùn) # java
  3. 奈學(xué)教育獲5000萬(wàn)元A1輪投資,由梅花創(chuàng)投領(lǐng)投
    攻略
    # jave # IT技術(shù)
  4. 經(jīng)驗(yàn)豐富的 Java 程序員的 10 個(gè)基本工具
    攻略
    # Java # IT培訓(xùn)
  5. 大多數(shù)人選擇Java可能只是因?yàn)槁犝f(shuō)Java前景好
    就業(yè)
    # Java # IT培訓(xùn)
  6. java是一門面向?qū)ο蟮木幊陶Z(yǔ)言。
    科普
    # IT培訓(xùn) # Java
教育寶IT技術(shù)頻道
教育寶致力于打造中國(guó)最專業(yè)的IT技術(shù)學(xué)習(xí)平臺(tái),為IT技術(shù)學(xué)員、教育機(jī)構(gòu)、從業(yè)者和上下游搭建連接、互動(dòng)、交流和賦能平臺(tái)。