注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Java多線程與Socket:實(shí)戰(zhàn)微服務(wù)框架

Java多線程與Socket:實(shí)戰(zhàn)微服務(wù)框架

Java多線程與Socket:實(shí)戰(zhàn)微服務(wù)框架

定 價(jià):¥99.00

作 者: 龐永華 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121360350 出版時(shí)間: 2019-03-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 452 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書從實(shí)戰(zhàn)角度出發(fā),首先介紹Java多線程、Socket、Spring、動(dòng)態(tài)代理、動(dòng)態(tài)字節(jié)碼、序列化等技術(shù)在構(gòu)建分布式微服務(wù)框架中的應(yīng)用。然后介紹一種微服務(wù)框架的架構(gòu)設(shè)計(jì)與編程實(shí)踐,并將這一微服務(wù)框架分解為底層Socket通信、服務(wù)注冊(cè)與發(fā)現(xiàn)、服務(wù)暴露與引用、遠(yuǎn)程方法調(diào)用等層面,逐一深入講解。這里重點(diǎn)介紹作者如何活用相關(guān)技術(shù)一步步地構(gòu)建微服務(wù)框架的基礎(chǔ)RPC框架并分享了相應(yīng)的性能調(diào)優(yōu)經(jīng)驗(yàn)。最后介紹微服務(wù)架構(gòu)中配套的服務(wù)治理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案,包括服務(wù)的設(shè)計(jì)、配置、管理與監(jiān)控。

作者簡(jiǎn)介

  IBM高級(jí)咨詢架構(gòu)師,擁有16年以上各種類型軟件系統(tǒng)的開發(fā)經(jīng)驗(yàn)。擅長(zhǎng)分布式與微服務(wù)架構(gòu)的設(shè)計(jì)和開發(fā)。

圖書目錄

第1章 多線程基礎(chǔ)
1.1 多線程的概念
1.1.1 進(jìn)程與線程
1.1.2 并發(fā)與并行
1.1.3 線程狀態(tài)
1.2 Thread線程類
1.2.1 基本用法與思考
1.2.2 常用方法介紹
1.2.3 wait和sleep的區(qū)別
1.2.4 sleep和yield的區(qū)別
1.3 Runnable接口
1.4 線程池
1.4.1 Executors
1.4.2 ExecutorService
1.4.3 ThreadPoolExecutor
1.4.4 基本用法與思考
1.5 Callable與Future
1.6 線程安全與效率
1.6.1 什么是線程安全
1.6.2 線程同步
1.6.3 饑餓與公平
1.6.4 鎖與死鎖
1.6.5 線程中斷
1.7 編程進(jìn)階
1.7.1 volatile關(guān)鍵字
1.7.2 synchronized關(guān)鍵字
1.7.3 wait/notify/notifyAll
1.7.4 CAS操作
1.7.5 atomic包
1.7.6 Lock自旋鎖
1.7.7 Condition條件變量
1.7.8 線程安全容器
1.7.9 ThreadLocal類
1.7.10 CountDownLatch計(jì)數(shù)器
1.7.11 CyclicBarrier柵欄
1.7.12 Semaphore信號(hào)量
1.7.13 fork/join框架
第2章 Socket基礎(chǔ)
2.1 TCP與Socket
2.2 TCP的通信過(guò)程
2.2.1 基本過(guò)程
2.2.2 建立連接
2.2.3 全雙工異步通信
2.2.4 斷開連接
2.2.5 優(yōu)雅地?cái)嚅_
2.2.6 半……連接
2.3 通信方式
2.3.1 長(zhǎng)連接與短連接
2.3.2 線程模型
2.3.3 拆包與組包
2.3.4 斷包與粘包
2.3.5 數(shù)據(jù)包的結(jié)構(gòu)
2.4 BIO
2.4.1 典型編程模型
2.4.2 關(guān)鍵API概述
2.4.3 字符流傳輸
2.4.4 字節(jié)流傳輸
2.4.5 傳輸多筆數(shù)據(jù)
2.5 NIO
2.5.1 NIO簡(jiǎn)介
2.5.2 Buffer
2.5.3 Channel
2.5.4 Selector
2.5.5 Scatter/Gather
2.5.6 Pipe
2.5.7 內(nèi)存映像文件
2.5.8 文件傳輸示例
2.5.9 “聊天室”示例
2.6 AIO
2.6.1 AIO簡(jiǎn)介
2.6.2 關(guān)鍵API概述
2.6.3 示例代碼
第3章 Spring與Spring Cloud
3.1 Spring簡(jiǎn)介
3.2 IoC容器
3.2.1 IoC的概念
3.2.2 Spring中的bean
3.2.3 XML配置方式
3.2.4 注解配置方式
3.2.5 用Java類來(lái)配置
3.2.6 BeanFactory與FactoryBean
3.2.7 ApplicationContext與ApplicationContextAware
3.2.8 動(dòng)態(tài)注冊(cè)bean配置
3.2.9 ApplicationListener與容器事件
3.3 bean的基本配置
3.3.1 scope屬性
3.3.2 parent與abstract
3.3.3 factory-bean與factory-method
3.3.4 bean的初始化與釋放
3.4 依賴注入
3.4.1 setter注入
3.4.2 工廠方式注入
3.4.3 構(gòu)造器注入
3.4.4 注解注入
3.5 Spring Boot
3.5.1 快速創(chuàng)建工程
3.5.2 編碼與測(cè)試
3.5.3 打包部署
3.5.4 輔助開發(fā)工具
3.5.5 監(jiān)控功能
3.6 Spring Cloud
3.6.1 Spring Cloud簡(jiǎn)介
3.6.2 架構(gòu)設(shè)計(jì)
3.6.3 創(chuàng)建應(yīng)用
3.6.4 服務(wù)的注冊(cè)與發(fā)現(xiàn)
3.6.5 服務(wù)配置
3.6.6 Ribbon負(fù)載均衡
3.6.7 Feign服務(wù)調(diào)用
3.6.8 Hystrix
3.6.9 Zuul服務(wù)路由
3.6.10 服務(wù)監(jiān)控
第4章 動(dòng)態(tài)代理
4.1 代理模式
4.2 靜態(tài)代理
4.3 類的裝載
4.4 Java反射
4.5 JDK動(dòng)態(tài)代理
4.6 CGLIB動(dòng)態(tài)代理
4.7 Java Compiler API
4.8 Javassist動(dòng)態(tài)代理
第5章 對(duì)象序列化
5.1 什么是序列化
5.2 Java序列化
5.2.1 基本用法
5.2.2 關(guān)于serialVersionUID
5.2.3 自定義序列化
5.2.4 封裝實(shí)現(xiàn)代碼
5.3 Hessian序列化
5.4 Kryo序列化
5.5 FST序列化
5.6 其他序列化組件
5.7 集成與擴(kuò)展
5.7.1 優(yōu)雅地集成
5.7.2 使用Java SPI
5.7.3 使用Spring
第6章 框架設(shè)計(jì)
6.1 總體結(jié)構(gòu)
6.1.1 邏輯架構(gòu)
6.1.2 框架設(shè)計(jì)概述
6.1.3 RPC原理
6.1.4 工程結(jié)構(gòu)
6.1.5 依賴的jar包
6.1.6 主要的類
6.2 初始化過(guò)程
6.2.1 Spring配置
6.2.2 應(yīng)用節(jié)點(diǎn)的啟動(dòng)
6.2.3 Web容器的啟動(dòng)
6.2.4 RpcCore的初始化
6.2.5 RpcContext的初始化
6.3 服務(wù)的暴露
6.3.1 服務(wù)暴露配置
6.3.2 方法配置與ID
6.3.3 內(nèi)置的服務(wù)方法
6.3.4 服務(wù)提供方本地調(diào)用器
6.3.5 服務(wù)提供方代理生成器
6.3.6 注冊(cè)要暴露的服務(wù)
6.4 服務(wù)的引用
6.4.1 服務(wù)引用配置
6.4.2 本地引用工廠類
6.4.3 注冊(cè)本地引用工廠
6.4.4 本地引用與方法ID
6.5 服務(wù)的注冊(cè)與發(fā)現(xiàn)
6.5.1 注冊(cè)表集合
6.5.2 注冊(cè)表的同步
6.5.3 注冊(cè)表的解析
6.5.4 提交注冊(cè)表
6.5.5 注冊(cè)表推送
6.5.6 注冊(cè)表檢查
6.6 優(yōu)雅地停機(jī)
6.6.1 停機(jī)的過(guò)程
6.6.2 停機(jī)鉤子
6.6.3 監(jiān)聽Web容器的關(guān)閉
6.6.4 RpcCore的關(guān)閉
6.6.5 停機(jī)通知的處理
第7章 方法調(diào)用
7.1 方法調(diào)用類型
7.2 同步調(diào)用
7.2.1 同步調(diào)用的時(shí)序
7.2.2 同步調(diào)用的發(fā)起
7.2.3 負(fù)載均衡
7.2.4 指定服務(wù)提供者
7.2.5 失敗轉(zhuǎn)移
7.2.6 發(fā)送調(diào)用請(qǐng)求
7.2.7 處理調(diào)用請(qǐng)求
7.2.8 處理調(diào)用響應(yīng)
7.3 異步調(diào)用
7.3.1 異步調(diào)用的時(shí)序
7.3.2 異步調(diào)用的發(fā)起
7.3.3 異步調(diào)用的執(zhí)行
7.3.4 方法調(diào)用對(duì)象
7.4 同步/異步通知
7.5 異步回調(diào)
7.6 廣播調(diào)用與廣播通知
7.6.1 廣播示例
7.6.2 廣播代碼
第8章 通信層實(shí)現(xiàn)
8.1 Socket通信框架
8.1.1 Netty與Mina
8.1.2 為什么要自己寫
8.1.3 是NIO還是AIO
8.1.4 設(shè)計(jì)思路
8.1.5 實(shí)際結(jié)構(gòu)
8.2 通信協(xié)議
8.2.1 傳輸對(duì)象
8.2.2 數(shù)據(jù)包結(jié)構(gòu)
8.2.3 拆包與發(fā)送
8.2.4 接收并組包
8.3 連接的建立
8.3.1 工作模型
8.3.2 開始監(jiān)聽
8.3.3 發(fā)起連接
8.3.4 綁定連接
8.3.5 斷線檢測(cè)
第9章 性能測(cè)試與調(diào)優(yōu)
9.1 性能調(diào)優(yōu)概述
9.1.1 性能指標(biāo)
9.1.2 性能瓶頸
9.1.3 環(huán)境因素
9.2 壓力測(cè)試
9.2.1 測(cè)試方法
9.2.2 場(chǎng)景設(shè)計(jì)
9.2.3 測(cè)試環(huán)境
9.2.4 Dubbo配置
9.2.5 測(cè)試程序
9.3 線程池調(diào)優(yōu)
9.3.1 調(diào)整線程池的大小
9.3.2 選擇合適的隊(duì)列
9.3.3 線程的管理邏輯
9.3.4 選擇拒絕策略
9.4 優(yōu)化線程同步
9.4.1 減少上下文切換
9.4.2 避免線程濫用
9.4.3 避免過(guò)多的鎖
9.4.4 synchronized VS Lock
9.4.5 縮小鎖的范圍和粒度
9.4.6 線程分析工具
9.5 JVM調(diào)優(yōu)
9.5.1 堆與棧
9.5.2 JVM內(nèi)存的分代
9.5.3 GC分類
9.5.4 GC算法
9.5.5 分代GC
9.5.6 對(duì)象的引用
9.5.7 內(nèi)存大小設(shè)置
9.5.8 內(nèi)存調(diào)優(yōu)工具
9.6 其他優(yōu)化內(nèi)容
9.6.1 避免使用反射
9.6.2 對(duì)象池
9.6.3 緩沖區(qū)隊(duì)列
9.6.4 使用直接內(nèi)存
9.6.5 緩存其他對(duì)象
9.6.6 協(xié)調(diào)與平衡
第10章 服務(wù)治理
10.1 服務(wù)治理概述
10.1.1 什么是服務(wù)治理
10.1.2 服務(wù)治理架構(gòu)
10.1.3 服務(wù)治理接口
10.2 服務(wù)的定義
10.2.1 服務(wù)識(shí)別
10.2.2 接口定義
10.2.3 版本管理
10.2.4 協(xié)議適配
10.2.5 服務(wù)設(shè)計(jì)
10.2.6 服務(wù)的實(shí)現(xiàn)
10.2.7 依賴關(guān)系管理
10.3 服務(wù)的部署
10.3.1 服務(wù)的部署方式
10.3.2 自動(dòng)化部署
10.3.3 服務(wù)的熱部署
10.4 注冊(cè)與發(fā)現(xiàn)
10.4.1 WSDL與UDDI
10.4.2 ZooKeeper的方案
10.4.3 Eureka的方案
10.4.4 Consul的方案
10.4.5 etcd的方案
10.4.6 注冊(cè)中心集成方案
10.5 服務(wù)的控制
10.5.1 服務(wù)狀態(tài)
10.5.2 服務(wù)控制
10.5.3 服務(wù)開關(guān)
10.5.4 服務(wù)模擬
10.5.5 黑白名單
10.5.6 “踢除”服務(wù)提供者
10.6 監(jiān)控與限流
10.6.1 TPS監(jiān)控與限流
10.6.2 響應(yīng)時(shí)間的監(jiān)控
10.6.3 調(diào)用鏈的監(jiān)控
10.6.4 資源監(jiān)控

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)