個(gè)人做Android開發(fā)差不多兩年時(shí)間,最近開始轉(zhuǎn)到服務(wù)端施流,說一下轉(zhuǎn)崗等入門新手响疚,需要掌握的服務(wù)端技術(shù)儲(chǔ)備。服務(wù)端的方向有以下幾個(gè)方面:
服務(wù): 面向業(yè)務(wù)開發(fā),目的在于快速響應(yīng)客戶端請求.涉及到Spring,高并發(fā)等知識(shí)點(diǎn).
數(shù)據(jù)庫: 關(guān)系型(MySQL等)和非關(guān)系型數(shù)據(jù)庫(Redis,MemCache等).
分布式: 基礎(chǔ)架構(gòu),提供對數(shù)據(jù)庫和事務(wù)等服務(wù)的基礎(chǔ)能力.初學(xué)者了解理論知識(shí)即可.
算法: 滴滴,頭條等重算法公司會(huì)著重此方面.
大數(shù)據(jù): 目前的應(yīng)用場景比較少,主要在AI方向及大公司公司偏多.
一 服務(wù)端入門
1 Java
語法和使用經(jīng)驗(yàn)
推薦書籍
Java編程思想 豆瓣 9.1
工具書,對于語法的設(shè)計(jì)探討的很深入.
深入理解Java虛擬機(jī)(第2版) 豆瓣 8.9
國人寫的,對JVM虛擬機(jī)的架構(gòu),內(nèi)存管理,GC回收等做了深入淺出的分析.
2 Spring
服務(wù)端主流的解耦設(shè)計(jì)框架瞪醋,主要理解ioc依賴注入和aop面向切面編程忿晕。由于我是android開發(fā),會(huì)使用依賴注入框架银受,所以理解不難践盼。
推薦書籍
Spring in action(spring實(shí)戰(zhàn))豆瓣8.4
spring的api使用說明鸦采,對于新手非常友好,易讀易快速了解spring開發(fā)框架咕幻。
Spring揭秘 豆瓣 9.0
國人寫的書渔伯,風(fēng)趣幽默,會(huì)探討spring各組件的設(shè)計(jì)原由和架構(gòu)肄程,可以給初中級開發(fā)者對spring框架有比較清楚的認(rèn)識(shí)锣吼。
3 jsp和servlet
現(xiàn)在主流的spring MVC框架必然會(huì)涉及到servlet服務(wù),重點(diǎn)是servlet服務(wù)的session管理及生命周期绷耍。servlet服務(wù)承載了普通restful風(fēng)格的請求(Http等)及web網(wǎng)頁的交互吐限。
jsp作為view展現(xiàn)層技術(shù)鲜侥,可以與servlet對象互相轉(zhuǎn)化褂始,所以可以了解下jsp語言,不強(qiáng)求。
推薦書籍
jsp&servlet學(xué)習(xí)筆記 豆瓣8.8
4 Tomcat容器
Spring服務(wù)是寄生在Tomcat這個(gè)HTTP及Servlet容器中的,有必要了解Tomcat服務(wù)的啟動(dòng)及請求轉(zhuǎn)發(fā)的流程.
推薦閱讀
我沒有看書籍,主要是看網(wǎng)上的Tomcat源碼解析系列.
5 網(wǎng)絡(luò)
了解目前流行的TCP,HTTP(S)協(xié)議,代理,緩存,安全等知識(shí),是Web開發(fā)必備知識(shí).
推薦書籍
圖解HTTP 豆瓣8.1
相當(dāng)友好的HTTP協(xié)議講解書籍,很薄,講解有趣,適合入門.
HTTP權(quán)威指南 豆瓣8.6
對于了解HTTP協(xié)議及網(wǎng)絡(luò)通信過程中的硬件,有很大幫助.
6 并發(fā)
在應(yīng)對高并發(fā)的網(wǎng)絡(luò)場景,需要了解并發(fā),鎖,網(wǎng)絡(luò)編程模型等工具.
推薦書籍
Java并發(fā)編程的藝術(shù) 豆瓣7.2
通俗易懂.
Java并發(fā)編程實(shí)戰(zhàn) 豆瓣9.0
對并發(fā)的原理做了細(xì)致的剖析,裂墻推薦.
Netty實(shí)戰(zhàn) 豆瓣7.7
Netty是目前非常流行的NIO框架,通過這本工具書了解這個(gè)框架的網(wǎng)絡(luò)編程模型和思想也是不錯(cuò)的,當(dāng)然最好還是上手?jǐn)]源碼.
7 數(shù)據(jù)庫
基礎(chǔ)最好從關(guān)系型數(shù)據(jù)庫入手,我是重點(diǎn)了解了MySQL.語法直接查詢官方文檔即可.NoSQL數(shù)據(jù)庫選擇了高性能的Redis做了解.
推薦書籍
MySQL必知必會(huì) 豆瓣8.4
超薄,通俗易懂.
高性能MySQL 豆瓣8.8
進(jìn)階書籍,需要多翻,對基礎(chǔ)有要求.主要講述MySQL的優(yōu)化策略.
Redis設(shè)計(jì)與實(shí)現(xiàn) 豆瓣8.5
本身NoSQL是key-value存儲(chǔ)結(jié)構(gòu),使用簡單.但是要了解內(nèi)部實(shí)現(xiàn),多翻翻書才是好的.
二 服務(wù)端流行框架
1 微服務(wù)架構(gòu)
國內(nèi)的選型大多是兩派:
1 Spring Boot + 淘寶系Dubbo的RPC框架
2 Spring Boot + Spring Cloud全套框架
我選擇了Dubbo去了解,這種微服務(wù)框架,重點(diǎn)看源碼哦.
2 分布式
為了了解單機(jī)到分布式的變遷,國內(nèi)的幾本Java大型網(wǎng)站研究經(jīng)典書籍最好都讀一讀.
推薦書籍
大型網(wǎng)站系統(tǒng)與Java中間件開發(fā)實(shí)踐 豆瓣7.9
對中間件的理解幫助非常大.
大型網(wǎng)站技術(shù)架構(gòu) 豆瓣7.9
對大型網(wǎng)站的技術(shù)架構(gòu)變遷有比較細(xì)致的闡述.
從Paxos到Zookeeper 豆瓣7.8
對分布式的協(xié)議,以及流行的Zookeeper注冊中心有清晰的講解.
以上,記得邊讀邊思考,才能好好消化~