计算机
类型
6.1
豆瓣评分
可以朗读
语音朗读
282千字
字数
2020-04-01
发行日期
展开全部
主编推荐语
学习亿级流量Java高并发与网络编程,系统掌握JVM、NIO等知识。
内容简介
本书系统全面的介绍了开发人员必学的知识,如JVM、网络编程、NIO等知识,让开发人员系统地掌握JAVA高并发与网络编程知识。共分为10章:第1章,主要讲高并发相关JVM原理解析;第2章,主要讲Java网络编程;第3章,主要讲JavaNIO;第4章,主要讲并发框架Disruptor;第5章,主要讲微服务构建框架SpringBoot;第6章,主要讲微服务治理框架SpringCloud/Dubbo;第7章,主要讲Java高并发网络编程框架Netty-实战应用;第8章,主要讲Java高并发网络编程框架Netty-深度解读;第9章,主要讲海量数据的高并发处理;第10章,主要讲基于高并发与网络编程的大型互联网项目实战。
目录
- 版权信息
- 内容提要
- 前言 INTRODUCTION
- 第1章 高并发概述
- 1.1 大型系统的技术基石
- 1.2 高并发技术的市场需求与从业者的薪资水平
- 1.3 本书阅读建议
- 第2章 系统分析与大型互联网架构设计
- 2.1 系统分析原则
- 2.1.1 高并发原则
- 2.1.2 容错原则
- 2.1.3 CAP原则
- 2.1.4 幂等性原则
- 2.1.5 可扩展原则
- 2.1.6 可维护原则与可监控原则
- 2.2 系统设计要点:在设计阶段提前规避问题
- 2.2.1 Session共享问题
- 2.2.2 优先考虑无状态服务
- 2.2.3 技术选型原则与数据库设计
- 2.2.4 缓存穿透与缓存雪崩问题
- 2.2.5 综合因素
- 2.3 大型系统的演进
- 2.3.1 不同类型的服务器
- 2.3.2 集群服务与动静分离
- 2.3.3 分布式系统
- 2.3.4 提高数据的访问性能
- 2.3.5 跨语言RPC整合
- 2.4 大型系统架构设计
- 2.4.1 服务预处理——限流与多层负载
- 2.4.2 各组件的技术选型建议
- 2.5 分布式lD生成器
- 第3章 高并发相关JVM与JDK新特性案例讲解
- 3.1 JVM核心概念及JVM对高并发的支持
- 3.1.1 内存区域与内存模型
- 3.1.2 使用voIatiIe解决可见性与重排序问题
- 3.2 Java对同步机制的解决方案及案例解析
- 3.2.1 使用synchronized解决并发售票问题与死锁演示
- 3.2.2 使用线程通信、队列及线程池模拟生产者与消费者场景
- 3.2.3 使用Lock重构生产消费者及线程通信
- 3.2.4 CAS无锁算法
- 3.2.5 使用信号量(Semaphor)实现线程通信
- 3.3 不可不学的Java新特性
- 3.3.1 Lambda及函数式接口实例讲解
- 3.3.2 5种形式的方法引用演示案例
- 3.3.3 通过案例详解Stream流式处理的生成、转换与终端操作
- 第4章 实战解析多线程并发包
- 4.1 JUC核心类的深度解析与使用案例
- 4.1.1 使用CopyOnWrite实现并发写操作
- 4.1.2 使用ReadWriteLock实现读写锁
- 4.1.3 ConcurrentHashMap的底层结构与演进过程
- 4.1.4 使用BIockingQueue实现排序和定时任务
- 4.1.5 通过CountDownLatch实现多线程闭锁
- 4.1.6 使用CycIicBarrier在多线程中设置屏障
- 4.1.7 使用FutureTask和CaIIabIe实现多线程
- 4.2 通过源码掌握并发包的基石AQS
- 4.2.1 AQS原理解析
- 4.2.2 AQS源码解读
- 4.2.3 独占模式源码解读
- 4.3 实战线程池
- 4.3.1 5种类型线程池的创建方式
- 4.3.2 常用线程池的应用示例与解析
- 4.3.3 自定义线程池的构建原理与案例详解
- 4.4 通过CompletableFuture控制线程间依赖关系的案例解析
- 4.5 异步模型和事件驱动模型
- 第5章 分布式网络编程核心技术
- 5.1 OSl与TCP/lP网络模型
- 5.1.1 OSI七层参考模型
- 5.1.2 TCP/IP四层模型
- 5.2 实战远程调用的设计模式
- 5.2.1 租房代理商——静态代理
- 5.2.2 万能代理商——动态代理
- 5.3 使用网络编程实现分布式远程调用
- 5.3.1 远程调用两大方案——RMI与RPC
- 5.3.2 综合案例:通过底层技能实现RMI
- 第6章 NlO案例解析与高性能聊天室实战
- 6.1 阻塞式数据传输
- 6.1.1 I/O设计的核心思想:装饰模式
- 6.1.2 I/O应用案例:远程传输文件
- 6.2 非阻塞式数据传输
- 6.2.1 NIO数据存储结构:缓冲区Buffer
- 6.2.2 缓冲区的搬运工:通道ChanneI
- 6.2.3 通过零拷贝实现高性能文件传输
- 6.2.4 规范读写的工具:管道Pipe
- 6.2.5 结合选择器SeIector开发高性能聊天室
- 6.3 异步非阻塞式数据传输
- 6.4 编码解码
- 6.4.1 编码解码原理及历史问题
- 6.4.2 编码解码操作案例
- 第7章 高性能NlO框架Netty实例详解
- 7.1 Netty快速入门
- 7.1.1 Netty核心概念
- 7.1.2 使用GradIe搭建Netty开发环境
- 7.2 使用Netty开发基于BS架构的网络编程案例
- 7.2.1 Netty编写流程与服务端开发案例
- 7.2.2 使用Netty开发点对点通信与聊天室功能
- 7.3 使用Netty远程传输文件
- 7.4 Netty经典使用场景与实现案例
- 7.4.1 使用Netty实现心跳检测机制
- 7.4.2 使用Netty实现基于CS架构的WebSocket通信
- 7.5 使用Netty和Protobuf实现RPC功能
- 7.5.1 GoogIe ProtocoI Buffer环境搭建与使用案例
- 7.5.2 使用Netty+Protobuf开发自定义RPC功能
- 第8章 主流RPC框架解析与跨语言调用案例
- 8.1 Apache Thrift
- 8.1.1 Apache Thrift从入门到实践
- 8.1.2 使用Thrift实现Java、NodeJS、Python之间的跨语言RPC调用
- 8.2 Google gRPC
- 8.2.1 GoogIe gRPC从入门到动手实践
- 8.2.2 使用gRPC实现Java、NodeJS、Python之间的跨语言RPC调用
- 8.3 Hadoop RPC案例演示
- 第9章 实战解析高并发框架Disruptor
- 9.1 Disruptor理论基石:观察者模式
- 9.1.1 自己动手实现观察者模式
- 9.1.2 JDK对观察者模式的支持
- 9.2 Disruptor原理解析与典型案例
- 9.2.1 Disruptor核心概念
- 9.2.2 使用Disruptor在200ms内处理千万字符
- 9.2.3 使用Disruptor轻松实现复杂的依赖逻辑
- 9.3 通过案例讲解RingBuffer的两种使用方式
- 9.3.1 EventHandIer+BatchEventProcessor使用案例
- 9.3.2 WorkerPooI+WorkHandIer使用案例
- 9.4 Disruptor底层组件解析
- 9.4.1 SequenceBarrier原理精讲
- 9.4.2 Sequencer核心概念
- 第10章 手把手开发微服务构建框架Spring Boot
- 10.1 微服务简介与Spring Boot入门案例
- 10.1.1 微服务简介
- 10.1.2 从环境搭建到开发第一个Spring Boot微服务
- 10.1.3 Spring Boot CLI快速体验
- 10.2 从源码角度深度解析Spring Boot核心要点
- 10.2.1 使用Starter快速导入依赖并解决版本冲突问题
- 10.2.2 Spring Boot自动装配机制的源码解读
- 10.2.3 Spring Boot中依赖的加载时机及检测方法
- 10.3 通过案例详解Spring Boot配置文件
- 10.3.1 配置文件Properties与YAML
- 10.3.2 使用YAML文件注入各种类型数据
- 10.3.3 使用Properties文件注入数据
- 10.3.4 使用@VaIue()注入数据以及各种注入方式的区别演示
- 10.3.5 多环境配置的切换
- 10.3.6 内外配置文件和动态参数的设置
- 10.4 使用Spring Boot开发Web项目
- 10.4.1 从源码角度分析静态资源的存放路径
- 10.4.2 根据源码自定义设置欢迎页
- 10.4.3 根据源码设置favicon.ico和自定义静态资源路径
- 10.4.4 ThymeIeaf核心语法和与Spring Boot的整合案例
- 10.4.5 通过外置Tomcat整合JSP并实现文件上传
- 第11章 Spring全家桶
- 11.1 Spring Boot整合日志框架
- 11.1.1 在Spring Boot中使用日志
- 11.1.2 通过案例演示日志的个性化设置
- 11.2 Spring Boot访问数据库
- 11.2.1 Spring Boot操作JDBC案例与数据源的装配源码解读
- 11.2.2 通过DRUID演示自定义数据源的使用
- 11.2.3 SQL初始化源码解读与自动化脚本实践
- 11.2.4 使用Spring Boot轻松处理事务
- 11.3 基于Spring Boot的SSM整合开发
- 11.3.1 Spring Boot整合SSM完整案例
- 11.3.2 第三方配置文件的引入与自定义配置类
- 11.4 Spring Boot整合第三方组件
- 11.4.1 Spring Boot整合FastJson
- 11.4.2 通过源码和案例详解Spring Boot缓存
- 11.4.3 使用Spring Boot+Redis实现分布式Session
- 11.4.4 Docker入门及实战
- 11.4.5 Spring Boot整合消息队列的案例详解
- 11.4.6 使用Spring Boot整合HttpCIient访问网络资源
- 11.4.7 通过案例讲解Spring Boot整合异步及计划任务
- 第12章 微服务治理框架Spring Cloud理论与案例解析
- 12.1 Spring Cloud要点精讲及入门案例
- 12.1.1 微服务架构
- 12.1.2 从零开始搭建基于生产消费模型的Spring CIoud案例
- 12.2 通过案例详解微服务注册中心Eureka
- 12.2.1 使用Eureka统一管理服务的提供者与消费者
- 12.2.2 Eureka服务发现案例演示
- 12.2.3 动手搭建Eureka集群
- 12.3 实战Spring Cloud中的负载均衡组件
- 12.3.1 客户端负载均衡工具Ribbon使用案例
- 12.3.2 声明式负载均衡工具Feign使用案例
- 12.3.3 使用Feign实现跨服务文件传输
- 12.4 分布式系统的稳定性保障
- 12.4.1 熔断器的原理及实现案例
- 12.4.2 通过案例演示FaIIbackFactory对熔断批处理的支持
- 12.4.3 使用Hystrix Dashboard实现可视化仪表盘的监控案例
- 12.5 服务跟踪与路由网关的原理及实现案例
- 12.5.1 使用Spring CIoud SIeuth实现服务跟踪
- 12.5.2 使用路由网关ZuuI实现请求映射
- 12.6 Spring Cloud技术栈补充介绍
- 12.6.1 分布式配置中心Spring CIoud Config
- 12.6.2 微服务通信Spring CIoud Bus
- 12.6.3 消息驱动微服务Spring CIoud Stream
- 第13章 通过案例讲解分布式服务框架Dubbo
- 13.1 Dubbo核心速览
- 13.2 动手开发基于Dubbo+Zookeeper+SSM+Maven架构的分布式服务
- 第14章 MySQL性能调优案例实战
- 14.1 数据库的底层原理剖析
- 14.1.1 通过系统参数查看MySQL的各种性能指标
- 14.1.2 MySQL存储引擎结构与MyISAM性能优化
- 14.1.3 索引的数据结构
- 14.2 通过案例实战高性能系统的必备技术
- 14.2.1 通过案例详解SQL执行计划的十大参数
- 14.2.2 SQL优化案例演示
- 14.2.3 通过案例演示索引失效的4种常见场景
- 14.2.4 优化数据库性能的几点补充
- 14.2.5 定位拖累数据库性能的元凶—慢SQL排查与性能分析
- 14.3 各种类型的锁机制
- 第15章 基于海量数据的高性能高可用数据库方案的设计与实现
- 15.1 使用MySQL及数据库中间件处理海量数据
- 15.1.1 设计基于MySQL+MyCat+Haproxy+keepaIived架构的数据
- 15.1.2 MySQL主从同步功能的设计与实现
- 15.1.3 实战基于MyCat的分库分表与读写分离功能
- 15.1.4 使用Haproxy实现MyCat的高可用
- 15.1.5 使用keepaIived防止Haproxy单点故障
- 15.1.6 搭建高性能高可用低延迟的MySQL架构
- 15.2 搭建基于Oracle的分布式数据库
- 15.2.1 分布式数据库简介
- 15.2.2 分布式数据库的实现
- 第16章 使用Redis实现持久化与高速缓存功能
- 16.1 Redis实战精讲
- 16.1.1 Redis核心概念与环境搭建
- 16.1.2 Redis六大常见类型的核心操作
- 16.2 Redis配置文件与持久化实战
- 16.2.1 Redis配置文件的常见参数
- 16.2.2 RDB及AOF方式的持久化操作及灾难恢复实战
- 16.3 Redis事务操作演示案例
- 16.3.1 Redis事务的核心概念和操作演示
- 16.3.2 如何在Redis中使用事务监控
- 16.4 操作Redis的Java客户端
- 16.4.1 使用Jedis操作Redis
- 16.4.2 在Jedis中通过ThreadLocaI实现高并发访问
- 16.5 Redis高性能与高可用
- 16.5.1 Redis主从复制与读写分离案例
- 16.5.2 哨兵模式
- 16.6 使用Redis作为MySQL高速缓存
- 第17章 分布式计算框架MapReduce入门详解
- 17.1 零基础搭建Hadoop开发环境运行MapReduce程序
- 17.1.1 从零开始搭建CentOS 6集群环境
- 17.1.2 搭建CentOS 7集群环境
- 17.1.3 搭建基于CentOS的Hadoop集群环境并初步使用
- 17.2 图文详解MapReduce
- 17.2.1 内存区域与内存模型
- 17.2.2 通过Combiner及压缩手段优化MapReduce网络传输
- 17.2.3 图解MapReduce全流程中的各个细节
- 第18章 通过典型案例剖析MapReduce内部机制
- 18.1 实战MapReduce 七大经典问题及优化策略
- 18.2 使用MapReduce解决共同关注问题
展开全部
出版方
北京大学出版社
北京大学出版社是在1979年,经国家出版事业管理局同意,教育部批准成立的,恢复了北京大学出版社建制。北京大学出版社依靠北大雄厚的教学、科研力量,同时积极争取国内外专家学者的合作支持,出版了大量高水平、高质量、适应多层次需要的优秀高等教育教材。 北大出版社注意对教材进行全面追踪,捕捉信息,及时修订,以跟上各学科的最新发展,反映该学科研究的最新成果,保持北大版教材的领先地位。
