Java學(xué)習(xí)路線(轉(zhuǎn))

原帖:學(xué)習(xí)JAVA,有什么書籍推薦尤揣?學(xué)習(xí)的方法和過(guò)程是怎樣的搔啊?(知乎)


現(xiàn)在互聯(lián)網(wǎng)上資源豐富,Java 學(xué)習(xí)并不難北戏。貼個(gè) Java 服務(wù)端入門和進(jìn)階指南负芋,是給我們組新人入門用的,包括了學(xué)習(xí)目標(biāo)嗜愈、需要掌握的技能和參考資料旧蛾,并規(guī)劃了學(xué)習(xí)階段和時(shí)間,希望幫助到題主蠕嫁。

前言

這是一份針對(duì)實(shí)習(xí)生/畢業(yè)生的服務(wù)端開發(fā)入門與進(jìn)階指南锨天。

建議

  • 盡量用 google 查找技術(shù)資料。
  • 有問(wèn)題在 stackoverflow 找找剃毒,大部分都已經(jīng)有人回答病袄。
  • 多看官方的技術(shù)文檔。
  • ibm developerworkers 的文章質(zhì)量整體上有保障赘阀。
  • 平時(shí)花一些時(shí)間在 github 上閱讀優(yōu)秀項(xiàng)目源碼益缠。

入門(1-2 個(gè)月)

  1. 目標(biāo):參與簡(jiǎn)單的項(xiàng)目開發(fā)。
  2. 技能:
  • 掌握 Java基公。經(jīng)典的《Java 核心技術(shù):卷1 基礎(chǔ)知識(shí)》(或者《Java 編程思想》)必看幅慌,跳過(guò)其中的圖形和 applet 章節(jié)。習(xí)慣查閱 Java API Doc轰豆。為了保證代碼的質(zhì)量胰伍,《Effective Java》、《Clean Code》和《重構(gòu)》也需要至少通讀一遍秒咨。
  • 熟悉 Linux 開發(fā)環(huán)境和 bash shell喇辽。Linux 是我們的開發(fā)和部署環(huán)境,你最好盡快熟練它雨席。Linux 的基本使用可以通過(guò)《鳥哥的Linux私房菜:基礎(chǔ)學(xué)習(xí)篇(第三版)》學(xué)習(xí)菩咨,開發(fā) bash shell 腳本可以參考《Linux Shell腳本攻略》。
  • 掌握開發(fā)工具
    · 熟練使用一種 IDE陡厘。Intellij IDEA或者 Eclipse 都可以抽米,推薦使用前者。至少熟悉常用的快捷鍵糙置,會(huì) debug(包括遠(yuǎn)程 debug)項(xiàng)目云茸。
    · 熟悉一種編輯器。比如 Vim/Emacs/Sublime Text谤饭,至少學(xué)會(huì)搜索/替換/代碼補(bǔ)全标捺。
  • 掌握 JDK 以外的常用類庫(kù)和工具包懊纳。JDK 原生 API 在很多場(chǎng)景下使用并不方便。你需要掌握社區(qū)貢獻(xiàn)的優(yōu)秀類庫(kù)和工具包亡容,比如 apache commons嗤疯、google guava 等,具體可以翻閱 服務(wù)端技術(shù)選型 的Utility 篇闺兢。
  • 掌握 Web 開發(fā)框架茂缚。我們使用 Spring(或Rose) + Ibatis(或Jade) 開發(fā) web 服務(wù),你需要熟練掌握它們屋谭。
  • 學(xué)習(xí)代碼規(guī)范脚囊。我們大致上遵循 oracle 的 Java 語(yǔ)言編碼規(guī)范,你可以先閱讀并熟悉它桐磁。Code Formatting 文件在 git@xxx/coding-standard.git悔耘,在編寫代碼之前,請(qǐng)把它導(dǎo)入到 IDE 中所意。另外淮逊,確認(rèn) IDE 已經(jīng)安裝 Findbugs 和 CheckStyle 插件。
  • 熟悉開發(fā)流程扶踊。我們的開發(fā)流程大致如下:功能開發(fā)->單元測(cè)試->功能測(cè)試->Code Review->集成測(cè)試->發(fā)布泄鹏。確保你熟悉其中的每個(gè)環(huán)節(jié)。
  • 其他秧耗。需要熟練使用版本控制工具 Git(閱讀:《Git 權(quán)威指南》)备籽,以及項(xiàng)目構(gòu)建工具 Maven(閱讀:《Maven 實(shí)戰(zhàn)》)。另外分井,在這個(gè)階段可以嘗試 TDD 開發(fā)车猬。

進(jìn)階(2-6 個(gè)月)

  1. 目標(biāo):獨(dú)立負(fù)責(zé)某個(gè)服務(wù)端項(xiàng)目。
  2. 技能:
  • 掌握 web 開發(fā)最佳實(shí)踐尺锚,掌握 Restful API 設(shè)計(jì)珠闰,理解 Spring 原理。推薦閱讀《Spring揭秘》瘫辩。掌握項(xiàng)目分層伏嗜、子模塊劃分。推薦閱讀:《J2EE 核心模式》伐厌。
  • 掌握 web 架構(gòu)設(shè)計(jì)承绸。包括 Http 反向代理,數(shù)據(jù)緩存挣轨,負(fù)載均衡军熏,水平擴(kuò)展和垂直擴(kuò)展。推薦閱讀:《分布式 Java 應(yīng)用:基礎(chǔ)與實(shí)踐》卷扮。
  • 掌握關(guān)系型數(shù)據(jù)庫(kù)荡澎。包括設(shè)計(jì) MySQL 表結(jié)構(gòu)均践,根據(jù)業(yè)務(wù)特點(diǎn)分表分庫(kù),基于執(zhí)行計(jì)劃的 SQL 分析優(yōu)化摩幔,以及數(shù)據(jù)庫(kù)容量規(guī)劃浊猾。推薦閱讀:《MySQL 必知必會(huì)》、《高性能 MySQL》热鞍。
  • 了解 NoSQL。我們大規(guī)模使用 Hadoop衔彻、HBase薇宠、Hive,同時(shí)部分項(xiàng)目使用 Redis艰额、Storm澄港。你需要學(xué)會(huì)這些工具最基本的使用。
  • 學(xué)習(xí) web 安全知識(shí)柄沮。了解 web 前端安全問(wèn)題回梧。設(shè)計(jì)安全 web 服務(wù),包括加解密祖搓、防偽造狱意、防重放攻擊等。
  • 掌握 Http (推薦閱讀:《圖解Http》拯欧、《http權(quán)威指南》)详囤、Thrift 等協(xié)議。
  • 掌握服務(wù)容量規(guī)劃镐作,性能調(diào)優(yōu)藏姐,可靠性保證,以及故障處理该贾。學(xué)習(xí)容量規(guī)劃和性能調(diào)優(yōu)知識(shí)羔杨,梳理業(yè)務(wù)監(jiān)控點(diǎn),熟練使用我們的監(jiān)控報(bào)警系統(tǒng)杨蛋。推薦閱讀:《深入理解 Java 虛擬機(jī)》兜材。
  • 其他。設(shè)計(jì)模式:從項(xiàng)目中學(xué)習(xí)六荒,有時(shí)間可以看看《深入淺出設(shè)計(jì)模式》护姆、《JDK 里的設(shè)計(jì)模式》。學(xué)習(xí)Java Socket 編程與多線程知識(shí)掏击,可以看看《Java 并發(fā)編程實(shí)戰(zhàn)》卵皂,并翻翻并發(fā)編程網(wǎng)的文章。

深入(6 個(gè)月-)

  1. 目標(biāo):分布式系統(tǒng)和中間件開發(fā)砚亭。
  2. 技能:
  • 構(gòu)建知識(shí)體系:《大型網(wǎng)站系統(tǒng)與 Java 中間件實(shí)踐》灯变、《大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析》殴玛。
  • 原理與設(shè)計(jì):《大規(guī)模存儲(chǔ)式系統(tǒng)》、《UNIX 網(wǎng)絡(luò)編程 卷1:套接字聯(lián)網(wǎng) API》添祸、《How Tomcat Works》滚粟。
  • 學(xué)習(xí)開源項(xiàng)目:Apache Thrift、Zipkin刃泌、Netty凡壤、Rose、Jade耙替、淘寶 RPC 系統(tǒng) Dubbo 等亚侠。分析項(xiàng)目中的設(shè)計(jì)思路。比如俗扇,同樣是RPC框架硝烂,F(xiàn)inagle 和 Dubbo 有什么異同。
  • 其他铜幽。根據(jù)參與的項(xiàng)目加深學(xué)習(xí)吧滞谢。比如,如果需要寫 DSL除抛,可以讀一下《領(lǐng)域特定語(yǔ)言》狮杨,對(duì) Redis 感興趣推薦讀一下:《Redis 設(shè)計(jì)與實(shí)現(xiàn)》。有兩本書到忽,無(wú)論做什么項(xiàng)目禾酱,都推薦讀:《Unix 編程藝術(shù)》、《UNIX 環(huán)境高級(jí)編程(第3版)》绘趋。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颤陶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子陷遮,更是在濱河造成了極大的恐慌滓走,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帽馋,死亡現(xiàn)場(chǎng)離奇詭異搅方,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)绽族,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門姨涡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人吧慢,你說(shuō)我怎么就攤上這事涛漂。” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵匈仗,是天一觀的道長(zhǎng)瓢剿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)悠轩,這世上最難降的妖魔是什么间狂? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘梨撞。我一直安慰自己,他們只是感情好炼列,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著音比,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氢惋。 梳的紋絲不亂的頭發(fā)上洞翩,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音焰望,去河邊找鬼骚亿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛熊赖,可吹牛的內(nèi)容都是我干的来屠。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼震鹉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼俱笛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起传趾,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤迎膜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后浆兰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磕仅,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年簸呈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榕订。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜕便,死狀恐怖劫恒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轿腺,我是刑警寧澤兼贸,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布段直,位于F島的核電站,受9級(jí)特大地震影響溶诞,放射性物質(zhì)發(fā)生泄漏鸯檬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一螺垢、第九天 我趴在偏房一處隱蔽的房頂上張望喧务。 院中可真熱鬧,春花似錦枉圃、人聲如沸功茴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坎穿。三九已至,卻和暖如春返劲,著一層夾襖步出監(jiān)牢的瞬間玲昧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工篮绿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孵延,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓亲配,卻偏偏與公主長(zhǎng)得像尘应,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吼虎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容