Java網(wǎng)絡編程進階——從BIO到RPC
定 價:59 元
《Java網(wǎng)絡編程進階——從BIO到RPC》用于學習Java網(wǎng)絡通信的設計和開發(fā),系統(tǒng)地介紹了Java網(wǎng)絡通信的多種技術,由淺人深地闡述了多種通信技術的基礎知識、主要模型以及實際可用的案例,使讀者能有效地掌握Java網(wǎng)絡編程的相關知識,并具備以Java編程來處理和解決網(wǎng)絡通信問題的能力。 全書共8章和1個附錄。第1~4章依次介紹BIO、NIO、AIO及Netty編程技術,每章均提供3個案例的設計和編碼;第5章與讀者分享RESTful應用輕量級框架Jersey的使用經(jīng)驗;第6章介紹Web服務消息推送規(guī)范SSE,并基于Jersey的SSE機制實現(xiàn)訂閱一發(fā)布功能以及一個可重人的分布式鎖;第7章自行設計了一個RPC框架并進行代碼實現(xiàn);第8章開發(fā)了兩個簡單常見的應用;附錄解答了Java開發(fā)時常見的若干問題。 《Java網(wǎng)絡編程進階——從BIO到RPC》可作為高等院!熬W(wǎng)絡程序設計”課程的教材,也可供相關領域的技術人員參考。
網(wǎng)絡編程是一門實用型技術,必須理論和實踐相結(jié)合。本書在闡述理論知識或設計思路時,輔以更為直觀的圖解,使其更易理解;本書亦用大量的篇幅展示落地實用的Java代碼并對其進行分析和解釋;通過案例的開發(fā)和分析,本書還向讀者展示了Java網(wǎng)絡技術與Java其他技術如線程、同步器、泛型、反射等的關聯(lián)使用。
‘隨著網(wǎng)絡及Java技術的發(fā)展,分布式和微服務成了企業(yè)信息部門在技術選型時的首選。網(wǎng)絡編程技術是分布式系統(tǒng)開發(fā)的基石,無論是使用現(xiàn)有的微服務框架開發(fā)業(yè)務應用,還是自行研發(fā)底層的服務框架,了解、掌握底層的網(wǎng)絡編程技術如AIO、NIO等,對開發(fā)者來說都是必不可少且多多益善的技術修煉;A不牢,地動山搖,豐富自己的技術知識棧將為開發(fā)者的職業(yè)生涯提供更加廣闊的發(fā)展空間。本書特色 網(wǎng)絡編程是一門實用型技術,必須理論和實踐相結(jié)合。本書在闡述理論知識或設計思路時,輔以更為直觀的圖解,使其更易理解;本書亦用大量的篇幅展示落地實用的Java代碼并對其進行分析和解釋;通過案例的開發(fā)和分析,本書還向讀者展示了Java網(wǎng)絡技術與Java其他技術如線程、同步器、泛型、反射等的關聯(lián)使用。讀者對象 ·Java程序員 ·分布式系統(tǒng)架構師 ·高!熬W(wǎng)絡程序設計”課程的學生 ·其他對Java網(wǎng)絡編程感興趣的讀者本書內(nèi)容 基于學以致用的原則,本書通過8章內(nèi)容和1個附錄來介紹Java網(wǎng)絡編程相關的技術。 第1~4章依次介紹基于BIO、NIO、AIO及Netty的編程技術,每種技術實現(xiàn)3個案例的設計和編碼。 第5章與讀者分享RESTful應用輕量級框架Jersey的使用經(jīng)驗,包括同步請求及應答、異步請求及應答、基本認證和授權以及如何替換某些部件,這些經(jīng)驗使得Jersey應用的開發(fā)更加高效和魯棒。 第6章介紹Web服務消息推送規(guī)范SSE的使用,基于Jersey的SSE機制實現(xiàn)訂閱一發(fā)布功能以及一個可重人的分布式鎖。 第7章自行設計一個RPC框架并進行代碼實現(xiàn),闡述了設計方案,并對關鍵代碼進行解釋。 第8章開發(fā)兩個簡單常見的應用,一個是基于WebSocket的聊天室;另一個是郵件發(fā)送程序。 附錄解答了Java開發(fā)時常見的若干問題。 本書所關注的網(wǎng)絡編程技術符合業(yè)界當今主流,可以有效提高讀者的Java網(wǎng)絡編程技術水平及核心競爭力。源碼和課件 本書的Java源碼和PPT課件可從https://github. com/Adairiver/jnp下載,亦可在清華大學出版社的官方網(wǎng)站上獲取。致謝 感謝我的家人。本書的寫作占用了大量的業(yè)余時間,沒有家人的支持和理解,這本書不可能完成。 感謝清華大學出版社的編輯劉向威博士。因為向威博士的一直鼓勵和幫助,本書才會如此順利地出版。 由于筆者的水平有限,書中難免有不足之處,還望讀者海涵和指正。非常期待能夠得到廣大讀者的反饋,在技術之路上互勉共進。
肖川,復旦大學計算機學院教師、工程師;男,44歲;專業(yè):計算機技術;
學歷:碩士;研究領域:計算機網(wǎng)絡、計算機教學;研究成果:著有《計算機網(wǎng)絡與網(wǎng)頁制作》等。
第1章 BIO1.1 Socket通信模型1.2 完善通信框架1.3 升級write與read1.4 案例1:傳輸字符串的會話1.5 案例2:傳輸對象的會話1.6 案例3:傳輸文件的會話習題第2章 NIO2.1 NIO模型2.2NIO服務端框架代碼2.3NIO客戶端框架代碼2.4 ByteBuffer及其在NIO中使用的問題2.5 NIO的分幀處理2.6 案例1:傳輸字符串的會話2.7 案例2:傳輸對象的會話2.8 案例3:傳輸文件的會話2.9 設計多線程服務器習題第3章 AIO3.1 異步操作概述3.2AIO服務端框架代碼3.3AIO客戶端框架代碼3.4AIO的分幀問題3.5 案例1:傳輸字符串的會話3.6 案例2:傳輸對象的會話3.7 案例3:傳輸文件的會話習題第4章 Netty4.1 Netty的使用模型4.2 Netty的入站與出站4.3 服務端框架代碼4.4 客戶端框架代碼4.5 ByteBuf、分幀以及ChannelHandler鏈4.6 案例1:傳輸字符串的會話4.7 案例2:傳輸對象的會話4.8 案例3:傳輸文件的會話習題第5章 Jersey5.1 概述5.2 案例1:對象資源的操作5.2.1 服務端基本框架5.2.2 客戶端基本框架5.2.3 逐項添加URI功能5.3 案例2:異步請求與異步應答5.3.1 服務端基本框架5.3.2 客戶端基本框架5.3.3 逐項添加URI功能5.4 案例3:基本認證和授權5.4.1 服務端基本框架5.4.2 客戶端基本框架5.4.3 服務端認證項5.4.4 客戶端認證項……第6章 SSE第7章 實現(xiàn)RPC框架第8章 兩個簡單應用附錄