图书介绍
Java多线程与Socket【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- 庞永华著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121360350
- 出版时间:2019
- 标注页数:433页
- 文件大小:110MB
- 文件页数:453页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java多线程与SocketPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 多线程基础1
1.1 多线程的概念1
1.1.1 进程与线程1
1.1.2 并发与并行2
1.1.3 线程状态2
1.2 Thread线程类3
1.2.1 基本用法与思考3
1.2.2 常用方法介绍4
1.2.3 wait和sleep的区别5
1.2.4 sleep和yield的区别5
1.3 Runnable接口6
1.4 线程池6
1.4.1 Executors6
1.4.2 ExecutorService7
1.4.3 ThreadPoolExecutor8
1.4.4 基本用法与思考9
1.5 Callable与Future10
1.6 线程安全与效率11
1.6.1 什么是线程安全11
1.6.2 线程同步13
1.6.3 饥饿与公平14
1.6.4 锁与死锁14
1.6.5 线程中断15
1.7 编程进阶16
1.7.1 volatile关键字16
1.7.2 synchronized关键字19
1.7.3 wait/notify/notifyAll21
1.7.4 CAS操作22
1.7.5 atomic包24
1.7.6 Lock自旋锁25
1.7.7 Condition条件变量28
1.7.8 线程安全容器30
1.7.9 ThreadLocal类32
1.7.10 CountDownLatch计数器33
1.7.11 CyclicBarrier栅栏34
1.7.12 Semaphore信号量35
1.7.13 fork/join框架36
第2章 Socket基础40
2.1 TCP与Socket40
2.2 TCP的通信过程41
2.2.1 基本过程41
2.2.2 建立连接42
2.2.3 全双工异步通信43
2.2.4 断开连接44
2.2.5 优雅地断开45
2.2.6 半……连接45
2.3 通信方式45
2.3.1 长连接与短连接46
2.3.2 线程模型47
2.3.3 拆包与组包49
2.3.4 断包与粘包51
2.3.5 数据包的结构52
2.4 BIO52
2.4.1 典型编程模型53
2.4.2 关键API概述53
2.4.3 字符流传输54
2.4.4 字节流传输59
2.4.5 传输多笔数据62
2.5 NIO66
2.5.1 NIO简介66
2.5.2 Buffer67
2.5.3 Channel70
2.5.4 Selector73
2.5.5 Scatter/Gather75
2.5.6 Pipe76
2.5.7 内存映像文件76
2.5.8 文件传输示例78
2.5.9 “聊天室”示例84
2.6 AIO93
2.6.1 AIO简介93
2.6.2 关键API概述94
2.6.3 示例代码95
第3章 Spring与Spring Cloud104
3.1 Spring简介104
3.2 IoC容器105
3.2.1 IoC的概念105
3.2.2 Spring中的bean106
3.2.3 XML配置方式106
3.2.4 注解配置方式107
3.2.5 用Java类来配置109
3.2.6 BeanFactory与FactoryBean110
3.2.7 ApplicationContext与ApplicationContextAware112
3.2.8 动态注册bean配置113
3.2.9 ApplicationListener与容器事件114
3.3 bean的基本配置116
3.3.1 scope属性116
3.3.2 parent与abstract116
3.3.3 factory-bean与factory-method117
3.3.4 bean的初始化与释放118
3.4 依赖注入118
3.4.1 setter注入118
3.4.2 工厂方式注入123
3.4.3 构造器注入124
3.4.4 注解注入125
3.5 Spring Boot126
3.5.1 快速创建工程127
3.5.2 编码与测试129
3.5.3 打包部署130
3.5.4 辅助开发工具131
3.5.5 监控功能131
3.6 Spring Cloud132
3.6.1 Spring Cloud简介132
3.6.2 架构设计134
3.6.3 创建应用135
3.6.4 服务的注册与发现136
3.6.5 服务配置138
3.6.6 Ribbon负载均衡140
3.6.7 Feign服务调用141
3.6.8 Hystrix142
3.6.9 Zuul服务路由145
3.6.10 服务监控146
第4章 动态代理152
4.1 代理模式152
4.2 静态代理154
4.3 类的装载155
4.4 Java反射157
4.5 JDK动态代理162
4.6 CGLIB动态代理163
4.7 Java Compiler API164
4.8 Javassist动态代理170
第5章 对象序列化173
5.1 什么是序列化173
5.2 Java序列化176
5.2.1 基本用法176
5.2.2 关于serialVersionUID179
5.2.3 自定义序列化180
5.2.4 封装实现代码182
5.3 Hessian序列化183
5.4 Kryo序列化186
5.5 FST序列化190
5.6 其他序列化组件192
5.7 集成与扩展193
5.7.1 优雅地集成193
5.7.2 使用Java SPI194
5.7.3 使用Spring196
第6章 框架设计197
6.1 总体结构197
6.1.1 逻辑架构197
6.1.2 框架设计概述199
6.1.3 RPC原理202
6.1.4 工程结构203
6.1.5 依赖的jar包205
6.1.6 主要的类206
6.2 初始化过程208
6.2.1 Spring配置208
6.2.2 应用节点的启动210
6.2.3 Web容器的启动212
6.2.4 RpcCore的初始化213
6.2.5 RpcContext的初始化216
6.3 服务的暴露218
6.3.1 服务暴露配置218
6.3.2 方法配置与ID220
6.3.3 内置的服务方法221
6.3.4 服务提供方本地调用器224
6.3.5 服务提供方代理生成器225
6.3.6 注册要暴露的服务231
6.4 服务的引用233
6.4.1 服务引用配置233
6.4.2 本地引用工厂类234
6.4.3 注册本地引用工厂235
6.4.4 本地引用与方法ID236
6.5 服务的注册与发现238
6.5.1 注册表集合238
6.5.2 注册表的同步239
6.5.3 注册表的解析241
6.5.4 提交注册表242
6.5.5 注册表推送245
6.5.6 注册表检查247
6.6 优雅地停机249
6.6.1 停机的过程249
6.6.2 停机钩子250
6.6.3 监听Web容器的关闭251
6.6.4 RpcCore的关闭253
6.6.5 停机通知的处理256
第7章 方法调用258
7.1 方法调用类型258
7.2 同步调用260
7.2.1 同步调用的时序260
7.2.2 同步调用的发起263
7.2.3 负载均衡265
7.2.4 指定服务提供者267
7.2.5 失败转移268
7.2.6 发送调用请求269
7.2.7 处理调用请求271
7.2.8 处理调用响应276
7.3 异步调用277
7.3.1 异步调用的时序277
7.3.2 异步调用的发起278
7.3.3 异步调用的执行280
7.3.4 方法调用对象280
7.4 同步/异步通知286
7.5 异步回调289
7.6 广播调用与广播通知290
7.6.1 广播示例290
7.6.2 广播代码291
第8章 通信层实现294
8.1 Socket通信框架294
8.1.1 Netty与Mina294
8.1.2 为什么要自己写295
8.1.3 是NIO还是AIO296
8.1.4 设计思路297
8.1.5 实际结构298
8.2 通信协议300
8.2.1 传输对象300
8.2.2 数据包结构301
8.2.3 拆包与发送302
8.2.4 接收并组包309
8.3 连接的建立317
8.3.1 工作模型317
8.3.2 开始监听318
8.3.3 发起连接320
8.3.4 绑定连接323
8.3.5 断线检测325
第9章 性能测试与调优329
9.1 性能调优概述329
9.1.1 性能指标329
9.1.2 性能瓶颈331
9.1.3 环境因素332
9.2 压力测试333
9.2.1 测试方法333
9.2.2 场景设计334
9.2.3 测试环境334
9.2.4 Dubbo配置335
9.2.5 测试程序336
9.3 线程池调优338
9.3.1 调整线程池的大小338
9.3.2 选择合适的队列341
9.3.3 线程的管理逻辑342
9.3.4 选择拒绝策略344
9.4 优化线程同步345
9.4.1 减少上下文切换345
9.4.2 避免线程滥用346
9.4.3 避免过多的锁348
9.4.4 synchronized VS Lock350
9.4.5 缩小锁的范围和粒度350
9.4.6 线程分析工具352
9.5 JVM调优353
9.5.1 堆与栈353
9.5.2 JVM内存的分代353
9.5.3 GC分类355
9.5.4 GC算法356
9.5.5 分代GC356
9.5.6 对象的引用359
9.5.7 内存大小设置359
9.5.8 内存调优工具361
9.6 其他优化内容364
9.6.1 避免使用反射364
9.6.2 对象池367
9.6.3 缓冲区队列370
9.6.4 使用直接内存370
9.6.5 缓存其他对象371
9.6.6 协调与平衡372
第10章 服务治理374
10.1 服务治理概述374
10.1.1 什么是服务治理374
10.1.2 服务治理架构375
10.1.3 服务治理接口376
10.2 服务的定义377
10.2.1 服务识别377
10.2.2 接口定义378
10.2.3 版本管理379
10.2.4 协议适配383
10.2.5 服务设计384
10.2.6 服务的实现385
10.2.7 依赖关系管理387
10.3 服务的部署387
10.3.1 服务的部署方式387
10.3.2 自动化部署388
10.3.3 服务的热部署390
10.4 注册与发现391
10.4.1 WSDL与UDDI391
10.4.2 ZooKeeper的方案391
10.4.3 Eureka的方案393
10.4.4 Consul的方案394
10.4.5 etcd的方案395
10.4.6 注册中心集成方案396
10.5 服务的控制397
10.5.1 服务状态397
10.5.2 服务控制399
10.5.3 服务开关403
10.5.4 服务模拟405
10.5.5 黑白名单410
10.5.6 “踢除”服务提供者416
10.6 监控与限流421
10.6.1 TPS监控与限流421
10.6.2 响应时间的监控429
10.6.3 调用链的监控430
10.6.4 资源监控432
热门推荐
- 2188092.html
- 3103664.html
- 475734.html
- 3748519.html
- 3580867.html
- 527518.html
- 3493000.html
- 552554.html
- 336328.html
- 1751795.html
- http://www.ickdjs.cc/book_1076480.html
- http://www.ickdjs.cc/book_3210270.html
- http://www.ickdjs.cc/book_2911297.html
- http://www.ickdjs.cc/book_3658067.html
- http://www.ickdjs.cc/book_2146875.html
- http://www.ickdjs.cc/book_1604534.html
- http://www.ickdjs.cc/book_1083997.html
- http://www.ickdjs.cc/book_679623.html
- http://www.ickdjs.cc/book_3875216.html
- http://www.ickdjs.cc/book_2617329.html