這份書單會告訴你,Java網絡編程其實很重要
- 2020 年 5 月 14 日
- 筆記
- 程序員,書單,程序員書單
Java工程師往往容易忽視的一塊知識點,其實就是Java網絡編程,為什麼呢,因為如果我想寫一個Java Web項目,我只要用SSM就可以輕鬆搞定,寫好我們的controller、service和dao就可以了,也就是只需要關心業務邏輯,不需要關心前端請求的路由、甚至是後端的負載均衡和網絡請求處理,因為這些東西很多時候都被Nginx和Tomcat給吃掉了,Nginx幫我們做好了負載均衡,Tomcat則幫我們完成TCP連接的建立,HTTP請求的處理,把所有複雜的技術細節都給屏蔽了。
不過隨着技術發展和更迭,大公司對於人才的要求也越來越高,對於高並發服務端編程能力的要求也在提高,比如在直播、實時通訊、遊戲服務端開發等技術領域,通信協議和網絡編程就成為了很重要的一個技術課題,相應的在Java領域,我們就必須要了解NIO、Linux epoll以及Netty等和網絡通信相關的技術。如果你想做基礎技術研發,比如消息隊列、RPC框架的研發,那麼網絡編程也是必備的基礎能力。
那麼今天我們就藉此機會,來介紹幾本關於Java網絡編程方面的優質書籍,以幫助大家更好地掌握這方面的知識,我們將從Java Web出發,依次介紹NIO網絡編程、Tomcat的設計原理,以及Netty這類通信編程框架領域的權威書籍。
Java網絡編程系列書單
深入分析JavaWeb技術內幕
點擊書籍圖片即可查看對應思維導圖!
這本書是Java Web的集大成之作,涵蓋了大部分Java Web開發的知識點,作者是資深的淘寶Java工程師,恨不得在一本書里把所有的Java Web知識點丟給講清楚,不過,一本書顯然無法把所有細節都講完,但是作為Java Web的入門或者進階書籍來看的話還是很不錯的。
Java網絡編程其實和Java web息息相關,Java Web的技術其實很大程度上都是基於Java網絡編程來實現的,只不過Tomcat已經把網絡編程的事情做好了,於是你需要做的就是通過spring等一些Javaweb框架來完成業務代碼的開發。但如果想要深入了解Java網絡編程,光會這些還不夠。這本書不僅介紹了JavaWeb技術棧的核心內容,也可以幫助我們打開Java網絡編程世界的大門,
作者介紹:
許令波,畢業於合肥工業大學,獲計算機碩士學位。熱愛Java Web技術,關注服務端性能優化,熱衷開源技術的研究和分享,曾獲developerWorks最佳作者稱號。2009年進入淘寶工作,目前從事模板渲染框架與MVC框架的開發與應用、Java Web的性能優化、高訪問量系統靜態化和商品詳情系統的業務改造等工作。
NIO與socket編程技術指南
點擊書籍圖片即可查看對應思維導圖!
想要學習Java網絡編程,首先你應該學的就是socket和NIO,在過去,Java還沒有NIO的時代,我們使用socket建立連接,用BIO也就是阻塞IO來完成服務端的網絡編程,後來NIO出現了以後,基於NIO的各種框架和Web容器也逐漸更新換代,比如netty網絡編程框架,Tomcat容器等,都是用了NIO技術,了解了NIO,就是了解網絡編程的第一步,而這也是一切Java網絡編程框架的核心技術。
這本書主要介紹Java語言中高性能處理的原理技術:NIO和Socket。非常詳細地講解了NIO中的緩衝區、通道、選擇器、編碼,以及使用Socket技術實現TCP/IP和UDP編程,這對理解基於NIO和Socket技術為基礎所開發的NIO框架是非常有好處的,在互聯網技術日新月異的時代,Netty以及Kafka等這些高性能處理框架都在底層應用到了NIO和Socket,所以當你目前是有計划進軍互聯網技術時,本書也許會帶給你一個方向。
作者簡介
高洪岩,某世界500強項目經理,有10年Java相關開發經驗,精通Java語言,擅長J2EE、EJB、Android、報表和多線程,以及並發相關的技術內容,理論與實踐經驗頗豐。著有《Java多線程編程核心技術》《Java並發編程:核心方法與框架》《NIO與Socket編程技術指南》《Java EE核心框架實戰 第2版》《Jasper Reports+iReport報表開發詳解》《Android學習精要》等書籍。
Tomcat架構解析
點擊書籍圖片即可查看對應思維導圖!
作為一個Java工程師,想必你對於Tomcat這個web容器並不陌生,畢竟我們開發的大部分web應用都要運行在這隻貓上面,那麼你是否思考過,為什麼Tomcat可以做到這一切呢,為什麼不是你寫好業務代碼,直接在本地或者雲端直接運行和部署,而是需要運行在一個Web容器上呢。其實Tomcat就是幫你把客戶端發來的Web請求準確地投放到每個控制器上,如果你想要更深入了解其中原理,那麼這本書可能值得你一讀。
這本書全面介紹了Tomcat的架構、各組件的實現方案以及使用方式,主要包括Tomcat的基礎組件架構以及工作原理,Tomcat各組件的實現方案、使用方式以及詳細配置說明,Tomcat與Web服務器集成以及性能優化,Tomcat部分擴展特性介紹等,市面上關於Tomcat的書確實不多,這本書值得推薦。
作者簡介
劉光瑞,北京窩客研發總監,負責窩客產品研發管理及總體架構設計。擁有十幾年的企業級大型業務系統研發架構經驗,成功帶領團隊設計並研發基於Tomcat的組件化微服務架構。2007年在四達軟件擔任高級架構師,主導了數個省份的廣播電視省網業務運營支撐系統的架構設計及優化工作。2012年在電訊盈科擔任高級技術顧問,參與了中國移動供應鏈系統的架構及研發。在應用系統架構及性能優化方面積累了豐富的經驗。
netty權威指南
點擊書籍圖片即可查看對應思維導圖!
講完了Tomcat,接下來就到知名的異步網絡編程框架netty了,netty其實就是一個對NIO進行包裝的開源網絡編程框架,它不需要你基於NIO去開發複雜的網絡應用程序,而是直接通過一套非常易於使用的API直接把最實用的功能提供給開發者,像平時的業務開發工程師其實對於這類框架接觸並不會太多,反而是做中間件、底層開發的同學會對這些東西更加關注,如果你有興趣學習netty,那麼這本書是一個不錯的選擇。
《Netty 權威指南(第2 版)》是異步非阻塞通信領域的經典之作,基於全新版本的Netty 5.0 編寫,是國內首本深入介紹Netty 原理和架構的書籍,也是作者多年實戰經驗的總結和濃縮,內容不僅包含Java NIO入門知識、Netty 的基礎功能開發指導、編解碼框架定製等,還包括私有協議棧定製和開發、Netty 核心類庫源碼分析,以及Netty 的架構剖析。
作者簡介
李林峰,Netty中國推廣者,現華為技術有限公司平台中間件架構與設計部設計師,公司總裁技術創新獎獲得者。長期從事高性能通信軟件的架構設計和開發工作,有多年在NIO領域的設計、開發和運維經驗,精通NIO編程和Netty、Mina等主流NIO框架。
如果想看更多技術好書,可以關注微信公眾號【程序員書單】作者黃小斜,目前是阿里Java工程師,業餘時間廣泛讀書,在公眾號里除了分享程序員必讀的技術書籍之外,也會推薦很多關於個人成長、投資理財等方面的書籍。你煩惱的每個問題,書中都有答案。**
在這裡,我們將為你推薦幫助程序員以及互聯網從業者自我提升的各類好書、優質學習資源和工具,每周pick精品書單,解讀經典書籍。