Java后端開發(fā)學(xué)習(xí)路線分享,新手收藏學(xué)習(xí)

Java后端開發(fā)學(xué)習(xí)路線分享,新手收藏學(xué)習(xí)

天津卓眾教育      2022-04-28 11:56:01     24

Java后端開發(fā)學(xué)習(xí)路線分享,新手收藏學(xué)習(xí),  最近有不少同學(xué)問為什么沒有Java后端,還有些是想轉(zhuǎn)過來,但都不太了解Java后端究竟需要學(xué)什么,究竟要從哪里學(xué)起,哪些是主

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹


  最近有不少同學(xué)問為什么沒有Java后端,還有些是想轉(zhuǎn)過來,但都不太了解Java后端究竟需要學(xué)什么,究竟要從哪里學(xué)起,哪些是主流的Java后端技術(shù)等等,導(dǎo)致想學(xué),但又很迷茫,不知從何下手。



  1、Java基礎(chǔ)


  Java是一門純粹的面向?qū)ο蟮木幊陶Z言,所以除了基礎(chǔ)語法之外,必須得弄懂它的oop特性:封裝、繼承、多態(tài)。此外還有泛型、反射的特性,很多框架的技術(shù)都依賴它,比如Spring核心的Ioc和AOP,都用到了反射,而且Java自身的動態(tài)代理也是利用反射實(shí)現(xiàn)的。


  此外還有Java一些標(biāo)準(zhǔn)庫也是非常常見,比如集合、I/O、并發(fā),幾乎在Web開發(fā)中無處不在,也是面試經(jīng)常會被問到的,所以在自學(xué)Java后端之前,不妨先打好這些基礎(chǔ)。


  另外還有Java8的一些新特性,也要重點(diǎn)關(guān)注,比如Lambda表達(dá)式、集合的Stream流操作、全新的DateAPI等等,


  關(guān)于書籍推薦,我是不建議初學(xué)者一開始就拿著「Java編程思想」啃的,因?yàn)楫?dāng)初我就是那個當(dāng)天下午決定自學(xué)Java,晚上就抱著這本書啃的人,說實(shí)話,我當(dāng)時真的不懂它在說啥,因?yàn)槲覜]有一點(diǎn)的面向?qū)ο笳Z言編程的基礎(chǔ),而這本書又寫得太博大精深了,在當(dāng)時的我來說,完全是天書,但是我認(rèn)為它仍然是Java界的圣經(jīng),每讀一次都有所收獲。


  在這里推薦你們一開始先看「Java核心技術(shù)」,這本書講得比較通俗易懂,初學(xué)者比較能接受。


  當(dāng)然現(xiàn)在很多平臺也都有免費(fèi)視頻教程,也可以去看一下,最好是一整套完整的視頻,不然就會是東一點(diǎn),西一點(diǎn)不全面反而學(xué)的迷茫要沒信心。


  2、數(shù)據(jù)庫


  關(guān)于sql方面:SQL教程、MySQL教程


  我是了解了一些基礎(chǔ)語法之后,就直接跟著視頻的老師做一些表操作實(shí)戰(zhàn)練習(xí)了,比如單表查詢、多表查詢等。我建議學(xué)sql切勿眼高手低,需多加練習(xí),不要只看懂了就行,因?yàn)楣ぷ髦袑懙靡皇趾喚毜膕ql是非常重要的。


  在這里我說下我在項目一直秉承著sql語句是能避免多表查詢就避免多表查詢,能夠分開多條語句就分開多條語句,因?yàn)檫@里涉及到多表查詢性能和數(shù)據(jù)庫擴(kuò)展的問題。


  關(guān)于JDBC方面:JDBC教程、JDBC獲取連接對象源碼分析


  你需要弄懂JDBCAPI的用法,其實(shí)它只是一組規(guī)范接口,所有數(shù)據(jù)庫驅(qū)動只要實(shí)現(xiàn)了JDBC,那么我們就可以通過標(biāo)準(zhǔn)的API調(diào)用相應(yīng)的驅(qū)動,完全不用知道驅(qū)動是怎么實(shí)現(xiàn)的,這就是面向接口編程的好處。



  3、Web基礎(chǔ)


  曾經(jīng)開源中國創(chuàng)始人紅薯寫了一篇文章「初學(xué)JavaWeb開發(fā),請遠(yuǎn)離各種框架,從Servlet開發(fā)」,我覺得他說的太對了,在如今Java開發(fā)中,很多開發(fā)者只知道怎么使用框架,但根本不懂Web的一些知識點(diǎn),其實(shí)框架很多,但都基本是一個套路,所以在你學(xué)習(xí)任何框架前,請把Web基礎(chǔ)打好,把Web基礎(chǔ)打好了,看框架真的是如魚得水。


  關(guān)于Http協(xié)議這部分內(nèi)容比較簡單搜集一些相關(guān)資料就能學(xué)會,不贅述。


  關(guān)于Web基礎(chǔ)這方面數(shù)據(jù)推薦,我當(dāng)時是看的是「Tomcat與JavaWeb開發(fā)技術(shù)詳解」,很詳細(xì)地講解了整個JavaWeb開發(fā)的技術(shù)知識點(diǎn),但現(xiàn)在看來,我覺得里面講的有一些技術(shù)確實(shí)有點(diǎn)老舊了,不過可以了解一下JavaWeb開發(fā)的歷史也是不錯的。


  關(guān)于JSP,你只要了解它其實(shí)就是一個Servlet就行了,關(guān)于它的一些標(biāo)簽用法,我認(rèn)為可以直接忽略,因?yàn)楝F(xiàn)在互聯(lián)網(wǎng)幾乎沒哪間公司還用JSP,除了一些老舊的項目?,F(xiàn)在都是流行前后端分離,單頁應(yīng)用,后端只做API接口的時代了,所以時間寶貴,把這些時間重點(diǎn)放在Servlet規(guī)范上面吧。


  關(guān)于Tomcat,它是一個Web容器,我們寫的后端項目都要部署到Web容器才能運(yùn)行,它其實(shí)是一個遵循Http,通過Socket通信與客戶端進(jìn)行交互的服務(wù)端程序:Tomcat結(jié)構(gòu)及處理請求過程。


  推薦書籍:Tomcat與JavaWeb開發(fā)技術(shù)詳解


  4、Web主流框架


  JavaWeb框架多如牛毛,等你有一定經(jīng)驗(yàn)了,你也可以寫一個Web框架,網(wǎng)上很多說Spring、Struts2、Hibernate是Java三架馬車。


  我只想說,那是很久遠(yuǎn)的事情了,我嚴(yán)重不推薦Struts2、Hibernate,相信我,一開始只需要上手Spring、SpringMVC、Mybatis就可以了,特別是Spring框架,其實(shí)Spring家族的框架都是很不錯的。


  但是提醒一點(diǎn)就是,千萬不要沉迷于各種框架不能自拔,以會多種用法而沾沾自喜,導(dǎo)致知其然而不知其所以然。


  Spring其核心思想就是IOC和AOP:


  談?wù)剬pringIOC的理解


  Spring面向切面編程


  SpringMVC它的思想是全部請求統(tǒng)一用一個Servlet去做請求轉(zhuǎn)發(fā)與控制,這個Servlet叫DispatcherServlet


  Mybatis它可實(shí)現(xiàn)動態(tài)拼裝sql,避免了幾乎所有的JDBC代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集


  5、Web框架進(jìn)階


  使用了SSM框架后,你會覺得框架也不過這么回事,如果你對Spring有過大概了解,你也會產(chǎn)生想寫一個「山寨版」Spring的心思了,一個輕量級Web框架主要具備以下功能:


  可讀取用戶自定義配置文件,并以此來初始化框架;


  具備Bean容器,管理項目的類的對象生命周期;


  具備依賴注入,降低類之間的耦合性;


  具備AOP功能,使項目可進(jìn)行橫向編程,可不改變原有代碼的情況增加業(yè)務(wù)邏輯;


  具備MVC框架模式。


  其實(shí)除了SSM之外,Web框架可謂是百家齊放,其中以Spring全家桶最為耀眼,在這里我極力推薦兩個Spring家族框架:SpringBoot和SpringCloud。


  SpringBoot彌補(bǔ)了Spring配置上的缺點(diǎn),再也不用為繁雜的xml費(fèi)勁精力了,堪稱是Java后端開發(fā)的顛覆者,推薦書籍「JavaEE開發(fā)的顛覆者:SpringBoot實(shí)戰(zhàn)」


  SpringCloud是一個微服務(wù)架構(gòu),能夠?qū)㈨椖堪凑諛I(yè)務(wù)分成一個個微服務(wù),每個微服務(wù)都可獨(dú)立部署,服務(wù)之間互相協(xié)調(diào)。


  當(dāng)一個項目越來越大時,隨之而來的是越來越難以維護(hù),此時將項目拆分成若干個微服務(wù)、單獨(dú)維護(hù)、單獨(dú)部署,也可以降低項目不同業(yè)務(wù)間的耦合度。


  推薦書籍「SpringCloud與Docker微服務(wù)架構(gòu)實(shí)戰(zhàn)」,這本書將Docker與微服務(wù)完美地結(jié)合在一起,堪稱完美!



  6、其它技術(shù)


  Redis:一個高性能的key-value數(shù)據(jù)庫,當(dāng)有并發(fā)量很高的請求時,將數(shù)據(jù)緩存在Redis中,將提高服務(wù)器的響應(yīng)性能,大大減輕數(shù)據(jù)庫的壓力。


  Git:世界上最先進(jìn)的分布式版本控制系統(tǒng),建議所有初學(xué)者從命令行開始使用Git!


  Maven:一個用于構(gòu)建項目的工具,將項目間的依賴通過xml完美地組織到一起,可通過編譯插件將項目編譯成字節(jié)碼文件。還有類似的Gradle也是不錯的選擇。


  maven的pom.xml文件詳解


  Linux:至少要求常用的命令會用,能夠在linux環(huán)境下部署項目。


  最全的SSH連接遠(yuǎn)程終端教程


  Docker:簡直是項目部署神器啊,來不及解釋了,推薦書籍「Docker技術(shù)入門與實(shí)戰(zhàn)」,中國首部Docker著作!


  7、開發(fā)工具


  工欲善其事,必先利其器,以下是我推薦的一些開發(fā)工具:


  IntellijIDEA:Java開發(fā)最好的IDE,這個是公認(rèn)的,我一開始是用Eclipse的,后來用了IntellijIDEA,才發(fā)現(xiàn)Eclipse就是一坨屎,所以我以過來人勸你們不要使用Eclipse,直接IntellijIDEA!


  Iterm2:macOS最好用的終端!


  Chrome:人生苦短,請用Chrome,來不及解釋了,快上車!


  Postman:很好用的一個接口調(diào)試工具。


  要有進(jìn)取心,要有拼搏的精神,要耐得住寂寞,經(jīng)過多方理論與實(shí)踐相結(jié)合,快速成為高薪程序員根本不是事兒。



       以上就是天津卓眾教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java后端開發(fā)學(xué)習(xí)路線分享,新手收藏學(xué)習(xí)”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。


  相關(guān)文章


  Java后端學(xué)習(xí)路線順序,趕快收藏學(xué)起來


  系統(tǒng)學(xué)習(xí)Java后端開發(fā)線路


  從事Java后端開發(fā),要學(xué)習(xí)哪些知識和技能?


  2019年最全Java后端的學(xué)習(xí)線路總結(jié)


培訓(xùn)啦提醒您:交易時請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。