Java高并发核心编程 卷1:NIO、Netty、Redis、ZooKeeper
基本信息

编辑推荐
涵盖高并发开发、
大厂面试的核心难题
从设计模式和基础知识入手,抽丝剥茧,
将高深莫测的Java高并发知识讲解得浅显易懂
内容简介
计算机书籍
本书从操作系统底层的IO原理入手,同时提供高性能开发的实战案例,是一本Java高并发编程的基础原理和实战图书。
本书共分为15章。第1~4章为高并发基础,浅显易懂地剖析高并发IO的底层原理,细致地讲解Reactor高性能模式,图文并茂地介绍Java异步回调模式。这些原理方面的基础知识非常重要,会为读者打下坚实的基础,也是日常开发Java后台应用时解决实际问题的金钥匙。第5~8章为Netty原理和实战,是本书的重中之重,主要介绍高性能通信框架Netty、Netty的重要组件、单体IM的实战设计和模块实现。第9~12章从TCP、HTTP入手,介绍客户端与服务端、服务端与服务端之间的高性能HTTP通信和WebSocket通信。第13~15章对ZooKeeper、Curator API、Redis、Jedis API的使用进行详尽的说明,以提升读者设计和开发高并发、可扩展系统的能力。
目录
自序
第1章 高并发时代的必备技能 1
1.1 Netty为何这么火 1
1.1.1 Netty火热的程度 1
1.1.2 Netty是面试的必杀器 2
1.2 高并发利器Redis 2
1.2.1 什么是Redis 2
1.2.2 Redis成为缓存事实标准的原因 3
1.3 分布式利器ZooKeeper 3
1.3.1 什么是ZooKeeper 3
1.3.2 ZooKeeper的优势 4
1.4 高性能HTTP通信技术 4
1.4.1 十万级以上高并发场景中的高并发HTTP通信技术 5
1.4.2 微服务之间的高并发RPC技术 6
1.5 高并发IM的综合实战 7
1.5.1 高并发IM的学习价值 8
1.5.2 庞大的应用场景 8
第2章 高并发IO的底层原理 10
2.1 IO读写的基本原理 10
前言
很多公司的面试题从某个侧面反映了生产场景的技术要求。之前只有BAT等大公司才有高并发技术相关的面试题,现在与Java项目相关的整个行业基本都涉及此类面试题。Java NIO、Reactor模式、高性能通信框架Netty、分布式锁、分布式ID、分布式缓存、高并发架构、JUC、JMM、高并发设计模式、线程池、微服务框架(如Spring Cloud、Nginx反向代理)等高并发方面的面试题,从以前的加分题变成现在的基础题。本书着重介绍Java NIO、Reactor模式、高性能通信框架Netty、ZooKeeper分布式锁、分布式ID、Redis分布式缓存、分布式IM方面的内容,以帮助大家快速掌握Java高并发的底层通信知识和分布式架构知识。
本书内容
本书实际上是《Netty、Redis、ZooKeeper高并发实战》1一书的升级版,同时也是三卷本《Java高并发核心编程》的第1卷,旨在帮助大家掌握Netty、Redis、ZooKeeper、TCP、HTTP、分布式IM的原理,为大家打下Java高并发技术的知识基础。
第1~4章从操作系统的底层原理开始,浅显易懂地揭秘高并发IO的底层原理,并介绍如何让单体Java应用支持百万级的高并发;从传统的阻塞式OIO开始,细致地解析Reactor高性能模式,介绍高性能网络开发的基础知识。这些非常底层的原理知识和基础知识非常重要,是开发过程中解决Java实际问题必不可少的。
第5~8章重点讲解Netty。目前Netty是高性能通信框架皇冠上当之无愧的明珠,是支撑其他众多著名的高并发、分布式、大数据框架底层的框架。这几章从Reactor模式入手,以“四两拨千斤”的方式为大家介绍Netty原理。同时,还将介绍如何通过Netty来解决网络编程中的重点难题,如Protobuf序列化问题、半包问题等。
第9~12章从TCP、HTTP入手,介绍客户端与服务端、服务端与服务端之间的高性能HTTP通信和WebSocket通信。这几章深入浅出地介绍TCP、HTTP、WebSocket三大常用的协议,以及如何基于Netty实现HTTP、WebSocket高性能通信。
第13章对ZooKeeper进行详细的介绍。除了全面地介绍Curator API之外,还从实战的角度出发介绍如何使用ZooKeeper设计分布式ID生成器,并对重要的SnowFlake算法进行详细的介绍。另外,还结合小故事以图文并茂的方式浅显易懂地介绍分布式锁的基本原理。
第14章从实战开发层面对Redis进行介绍,详细介绍Redis的5种数据类型、客户端操作指令、Jedis Java API。另外,还通过spring-data-redis来完成数据分布式缓存的实战案例,详尽地介绍Spring的缓存注解以及涉及的SpEL表达式语言。
第15章通过CrazyIM项目为大家介绍一个亿级流量的高并发IM系统模型,这个高并发架构的系统模型不仅仅限于IM系统,通过简单的调整和适配就可以应用于当前主流的Java后台系统。
读者对象
* 对Java NIO、高性能IO、高并发编程感兴趣的大专院校学生。
* 需要学习Java高并发技术和高并发架构的初、中级Java工程师。
* 生产项目中需要用到Netty、Redis、ZooKeeper三大框架的架构师或者项目人员。
本书源代码下载
本书的源代码可以从 https://gitee.com/crazymaker/netty_redis_zookeeper_source_code.git下载。另外,还可以登录机械工业出版社华章公司网站(www.hzbook.com)下载,方法是:先搜索到本书,然后在页面上的“资料下载”模块下载。如果下载有问题,请发送电子邮件至booksaga@126.com,邮件主题为“求Java高并发核心编程 卷1下载资源”。
勘误和支持
由于笔者水平和能力有限,书中不妥之处在所难免,希望读者提出宝贵意见和建议。本系列书的读者QQ群为104131248,目前群中已经包含了不少高质量的面试题以及开发技术难题,欢迎读者入群进行交流。
致 谢
首先感谢卞诚君老师,没有他的指导和帮助,就不会有《Netty、Redis、ZooKeeper高并发实战》一书的面世,更不会有后续的本书。
媒体评论
浅显易懂地剖析了高并发IO的底层原理
图文并茂地介绍了TCP、HTTP、WebSocket协议的核心原理
细致深入地揭秘了Reactor高性能模式
全面介绍了Netty框架,并完成单体IM、分布式IM的实战设计
详尽地介绍了ZooKeeper、Redis的使用