【干貨】java學習路線圖

對于軟件開發(fā)來說更是這樣鹃共,編程語言比較枯燥吸奴,學習難度大硅卢,沒有好的學習方法和學習路線,在過程中很容易就會失去了學習的興趣恃疯,甚至最后選擇了放棄熙揍。為此為大家支招订咸,教你新手入門需要知道的Java學習路線虎谢。


Java 基礎

Java 是一門純粹的面向對象的編程語言盟榴,所以除了基礎語法之外,必須得弄懂它的 oop 特性:封裝婴噩、繼承曹货、多態(tài)。此外還有泛型讳推、反射的特性,很多框架的技術都依賴它玩般,比如 Spring 核心的 Ioc 和 AOP银觅,都用到了反射,而且 Java 自身的動態(tài)代理也是利用反射實現的坏为。此外還有 Java 一些標準庫也是非常常見究驴,比如集合、I/O匀伏、并發(fā)洒忧,幾乎在 Web 開發(fā)中無處不在,也是面試經常會被問到的够颠,所以在自學 Java 后端之前熙侍,不妨先打好這些基礎,另外還有 Java8 的一些新特性,也要重點關注蛉抓,比如 Lambda 表達式庆尘、集合的 Stream 流操作、全新的 Date API 等等巷送,關于新特性驶忌,我也寫了幾篇關于這方面的博客,請自行找吧笑跛,就不貼出來了付魔。

關于書籍推薦,我是不建議初學者一開始就拿著「Java 編程思想」啃的飞蹂,因為當初我就是那個當天下午決定自學 Java几苍,晚上就抱著這本書啃的人,說實話晤柄,我當時真的不懂它在說啥擦剑,因為我沒有一點的面向對象語言編程的基礎,而這本書又寫得太博大精深了芥颈,在當時的我來說惠勒,完全是天書,但是我認為它仍然是 Java 界的圣經爬坑,每讀一次都有所收獲纠屋。我在這里推薦你們一開始先看「Java 核心技術」,這本書講得比較通俗易懂盾计,初學者比較能接受售担。

關于視頻推薦,我當初就是聽某客的畢向東老師講的 Java 基礎教程(可以關注我的微信公眾號獲仁鸹浴)族铆,畢老師講的實在是太生動有趣了,不知不覺把我?guī)нM Java 的坑里無法自拔哭尝,有時候我會聽他視頻時笑出聲來哥攘,也許是我那段自學階段最有趣的時刻了。

數據庫

關于 sql 方面:

SQL 教程? http://www.runoob.com/sql/sql-tutorial.html材鹦、

MySQL 教程 http://www.runoob.com/mysql/mysql-tutorial.html

我是了解了一些基礎語法之后逝淹,就直接跟著視頻的老師做一些表操作實戰(zhàn)練習了,比如單表查詢桶唐、多表查詢等栅葡。我建議學 sql 切勿眼高手低,需多加練習尤泽,不要只看懂了就行欣簇,因為工作中寫得一手簡練的 sql 是非常重要的规脸。在這里我說下我在項目一直秉承著 sql 語句是能避免多表查詢就避免多表查詢,能夠分開多條語句就分開多條語句醉蚁,因為這里涉及到多表查詢性能和數據庫擴展的問題燃辖。

關于 JDBC 方面:JDBC 教程JDBC 獲取連接對象源碼分析

你需要弄懂 JDBC API 的用法网棍,其實它只是一組規(guī)范接口黔龟,所有數據庫驅動只要實現了 JDBC,那么我們就可以通過標準的 API 調用相應的驅動滥玷,完全不用知道驅動是怎么實現的氏身,這就是面向接口編程的好處。而且對于 JDBC 我是直接看視頻去理解的惑畴,跟著視頻做了一個基于 Apache Dbutils 工具做了一個具有事務性的小工具蛋欣,我特意用思維導圖總結了一下:

jdbc-utils源碼地址:jdbc-utils

Web 基礎

曾經開源中國創(chuàng)始人紅薯寫了一篇文章「初學 Java Web 開發(fā),請遠離各種框架如贷,從 Servlet 開發(fā)」陷虎,我覺得他說的太對了,在如今 Java 開發(fā)中杠袱,很多開發(fā)者只知道怎么使用框架尚猿,但根本不懂 Web 的一些知識點,其實框架很多楣富,但都基本是一個套路凿掂,所以在你學習任何框架前,請把 Web 基礎打好纹蝴,把 Web 基礎打好了庄萎,看框架真的是如魚得水。

關于 Http 協議塘安,這篇文章就寫得很清楚:Http協議

關于 Web 基礎這方面數據推薦糠涛,我當時是看的是「Tomcat 與 Java Web 開發(fā)技術詳解」,很詳細地講解了整個 Java Web 開發(fā)的技術知識點兼犯,但現在看來脱羡,我覺得里面講的有一些技術確實有點老舊了,不過可以了解一下 Java Web 開發(fā)的歷史也是不錯的免都。所以在 Web 基礎這方面我都是看某客的崔老師講的「超全面 Java Web 視頻教程」,講得很詳細很生動帆竹,還有實戰(zhàn)項目绕娘!

關于 JSP,你只要了解它其實就是一個 Servlet 就行了栽连,關于它的一些標簽用法险领,我認為可以直接忽略侨舆,因為現在互聯網幾乎沒哪間公司還用 JSP,除了一些老舊的項目【钅埃現在都是流行前后端分離挨下,單頁應用,后端只做 API 接口的時代了脐湾,所以時間寶貴臭笆,把這些時間重點放在 Servlet 規(guī)范上面吧。

關于 Tomcat秤掌,它是一個 Web 容器愁铺,我們寫的后端項目都要部署到Web容器才能運行,它其實是一個遵循 Http闻鉴,通過 Socket 通信與客戶端進行交互的服務端程序:Tomcat結構及處理請求過程

Web 主流框架

Java Web 框架多如牛毛茵乱,等你有一定經驗了,你也可以寫一個 Web 框架孟岛,網上很多說 Spring瓶竭、Struts2、Hibernate 是 Java 三架馬車渠羞,我只想說斤贰,那是很久遠的事情了,我嚴重不推薦 Struts2堵未、Hibernate腋舌,相信我,一開始只需要上手 Spring渗蟹、SpringMVC块饺、Mybatis 就可以了,特別是 Spring 框架雌芽,其實 Spring 家族的框架都是很不錯的授艰。

但是提醒一點就是,千萬不要沉迷于各種框架不能自拔世落,以會多種用法而沾沾自喜淮腾,導致知其然而不知其所以然。

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

談談對 Spring IOC 的理解

Spring 面向切面編程

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

SpringMVC 初始化過程

SpringMVC 處理請求過程

Mybatis 它可實現動態(tài)拼裝 sql谷朝,避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集:

mybatis 入門教程

Mybatis 深入淺出系列

Web 框架進階

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

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

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

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

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

具備 MVC 框架模式。

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

SpringBoot 彌補了 Spring 配置上的缺點垦缅,再也不用為繁雜的 xml 費勁精力了,堪稱是 Java 后端開發(fā)的顛覆者驹碍,推薦書籍「Java EE 開發(fā)的顛覆者:SpringBoot實戰(zhàn)」

SpringBoot 構建 web 項目

SpringBoot 自動化配置源碼分析

自定義 SpringBoot Starter

spring-boot-starter-tutorial

SpringCloud 是一個微服務架構壁涎,能夠將項目按照業(yè)務分成一個個微服務,每個微服務都可獨立部署志秃,服務之間互相協調怔球。當一個項目越來越大時,隨之而來的是越來越難以維護浮还,此時將項目拆分成若干個微服務竟坛、單獨維護、單獨部署钧舌,也可以降低項目不同業(yè)務間的耦合度担汤。推薦書籍「Spring Cloud 與 Docker 微服務架構實戰(zhàn)」,這本書將 Docker 與微服務完美地結合在一起洼冻,堪稱完美崭歧!

Spring Cloud 中文官網

史上最簡單的 Spring Cloud 教程

我寫的有關于 Spring Cloud 的博客:

SpringCloud微服務架構之服務注冊與發(fā)現

SpringCloud微服務架構之服務消費者

SpringCloud微服務架構之斷路器

SpringCloud微服務架構之服務網關

其它技術

Redis:一個高性能的 key-value 數據庫,當有并發(fā)量很高的請求時撞牢,將數據緩存在 Redis 中率碾,將提高服務器的響應性能,大大減輕數據庫的壓力屋彪。

redis 中文官網

redis 教程

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

Git 官網

最全 Git 教程

Git 的一些常用命令

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

maven 的 pom.xml 文件詳解

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

Linux 命令大全

最全的 SSH 連接遠程終端教程

Docker:簡直是項目部署神器啊磕蛇,來不及解釋了,看我 Docker 系列博客秀撇,開啟 Docker 之旅吧!推薦書籍「Docker 技術入門與實戰(zhàn)」再扭,中國首部 Docker 著作!

Docker 實戰(zhàn)(一)

Docker 實戰(zhàn)(二)

Docker 實戰(zhàn)(三)

docker-deploy-tutorial

開發(fā)工具

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

Intellij IDEA:Java 開發(fā)最好的 IDE惧笛,這個是公認的,我一開始是用 Eclipse 的,后來用了 Intellij IDEA昌渤,才發(fā)現 Eclipse 就是一坨屎,所以我以過來人勸你們不要使用 Eclipse甸赃,直接 Intellij IDEA!

IntelliJ IDEA 使用教程

Iterm2:macOS 最好用的終端!

Iterm2 使用指南

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

Postman:很好用的一個接口調試工具。

Postman 官網


文章來源于:https://blog.csdn.net/chenshiyang0806/article/details/79879269

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末屿良,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌逊躁,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異哮独,居然都是意外死亡拳芙,警方通過查閱死者的電腦和手機舟扎,發(fā)現死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門睹限,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晕换,你說我怎么就攤上這事益愈。” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钥顽。 經常有香客問我,道長靠汁,這世上最難降的妖魔是什么蜂大? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蝶怔,結果婚禮上奶浦,老公的妹妹穿的比我還像新娘。我一直安慰自己踢星,他們只是感情好澳叉,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沐悦,像睡著了一般成洗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藏否,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天瓶殃,我揣著相機與錄音,去河邊找鬼副签。 笑死碌燕,一個胖子當著我的面吹牛,可吹牛的內容都是我干的继薛。 我是一名探鬼主播修壕,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼遏考!你這毒婦竟也來了慈鸠?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤灌具,失蹤者是張志新(化名)和其女友劉穎青团,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體咖楣,經...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡督笆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了诱贿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娃肿。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡咕缎,死狀恐怖,靈堂內的尸體忽然破棺而出料扰,到底是詐尸還是另有隱情凭豪,我是刑警寧澤,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布晒杈,位于F島的核電站嫂伞,受9級特大地震影響,放射性物質發(fā)生泄漏拯钻。R本人自食惡果不足惜帖努,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望粪般。 院中可真熱鬧然磷,春花似錦、人聲如沸刊驴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捆憎。三九已至,卻和暖如春梭纹,著一層夾襖步出監(jiān)牢的瞬間躲惰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工变抽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留础拨,地道東北人。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓绍载,卻偏偏與公主長得像诡宗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子击儡,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內容