
包邮NIO高并发WEBSOCKET框架开发(微课视频版)

- ISBN:9787302679127
- 装帧:平装
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:0
- 出版时间:2025-03-01
- 条形码:9787302679127 ; 978-7-302-67912-7
本书特色
本书以JDK17长期维护版本为示例,详细地介绍了Java套接字网络通信相关的知识体系,让读者不仅知其然,而且知其,所以然。本书对套接字网络通信相关的理论分门别类,层层递进地进行详细叙述和透彻的分析,既体现了各知识点之间的联系,又兼顾了其渐进性。本书在介绍每个知识点时都给出了该知识点的应用场景,同时配合代码演示,让读者更能明白其实现原理和使用方式。
内容简介
"本书全面系统地介绍了Java网络套接字相关的核心知识点,把官方BIO、NIO的核心知识点用链路的方式讲解清楚。读者在学习的过程中需要循序渐进,核心知识点的理解是很重要的。由核心知识点扩展开来就可以形成万物。学习和创造希望读者在此过程中能拥有自己的成长和思维。 全书共18章。第1章多线程并发经典案例、第2~5章IO字节输入输出流、第6章框架基石反射机制、第7章类加载器、第8章网络基础知识、第9章BIO下的Socket套接字、第10章NIO下的缓冲区、第11章NIO下的字符编解码、第12章NIO下的Socket套接字通道、第13章泛型声明、第14章List集合框架、第15章Set集合框架、第16章Map集合框架、第17章开源WebSocket框架实战、第18章JDK21中的虚拟线程。 本书每个章节都有相对应的代码验证环节,提供了大量应用实例,每章节均附有习题。 本书适合有一定的Java基础知识,包括语法、结构、面向对象编程概念、多线程并发和网络通信基础的读者阅读。本书可作为想自研NIO套接字框架、自定义协议、网络通信服务相关的软件开发人员参考用书。 "
前言
Java在1.4版本之前使用的是BIO模型。此模型是阻塞式模型,一个套接字连接需要一个线程来维护,一台计算机能开辟的线程数量有限,并且过多的线程会导致频繁的上下文切换,所以BIO的并发性能较低。
Java在1.4版本推出了NIO模型。此模型是多路复用的非阻塞式模型,配合Selector、SelectableChannel、SelectionKey可以搭建多路复用的非阻塞式套接字网络服务。
Java在1.7版本推出了AIO模型。此模型是在NIO的基础上扩展了异步回调。可以理解为封装了一个多线程异步回调的框架,任何框架的使用都有两面性,一方面是封装好的服务只需调用就可以了; 另一方面也会受到框架设计使用等方面的制约。
Java在21版本推出了虚拟线程。虚拟线程可以创建百万级虚拟线程,但不能创建百万级平台线程。虚拟线程的切换成本较低,平台线程的切换成本较高。
本书特点
本书以JDK 17长期维护版本为示例,详细地介绍了Java套接字网络通信相关的知识体系,让读者不仅知其然,而且知其所以然。本书对套接字网络通信相关的理论分门别类,层层递进地进行详细叙述和透彻分析,既体现了各知识点之间的联系,又兼顾了其渐进性。本书在介绍每个知识点时都给出了该知识点的应用场景,同时配合代码演示,让读者更能明白其实现原理和使用方式。本书丰富的免费配套资源包括源代码、完整的配套视频。
本书主要内容
第1章介绍了单例双重检查锁机制、happensbefore原则、LockSupport底层锁。
第2章介绍了数据流、序列化、文件系统提供的字节输入流功能。
第3章介绍了数据流、序列化、文件系统提供的字节输出流功能。
第4章介绍了数据流、序列化、文件系统提供的字符输入流功能。
第5章介绍了数据流、序列化、文件系统提供的字符输出流功能。
第6章介绍了Class类框架基石反射机制。
第7章介绍了ClassLoader类加载器,并实现自定义的类加载器。
第8章介绍了网络基础知识,如IP地址、网络接口、UDP。
第9章介绍了BIO模式下的Socket网络套接字服务。
第10章介绍了NIO模式下的Buffer缓冲区。
第11章介绍了NIO模式下的字符集、解码器、编码器。
第12章介绍了NIO模式下搭建多路复用的非阻塞式套接字网络服务。
第13章介绍了泛型的使用。
第14章介绍了List集合框架。
第15章介绍了Set集合框架。
第16章介绍了Map集合框架。
第17章介绍了自研WebSocket框架。基于Reactor设计模式,使用原生NIO实现的WebSocket网络框架。支持多线程、高并发、TLS安全层协议。
第18章介绍了JDK 21中的虚拟线程。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
读者对象
本书适合想自研NIO套接字框架、自定义协议、网络通信服务的Java开发人员阅读。
致谢
特别感谢清华大学出版社赵佳霓编辑。感谢她对本书专业且高效的审阅、对书中各种表意方式和文笔的润色建议,以及推动本书的出版。同时也感谢参与本书出版的所有出版社的老师,在大家的辛勤努力下,才有了本书的顺利出版。
刘宁萌2024年10月
目录
第1章并发扩展(61min)
1.1单例双重检查锁
1.1.1**阶段
1.1.2第二阶段
1.1.3第三阶段
1.1.4*终阶段
1.1.5扩展happensbefore
1.2LockSupport锁
小结
习题
第2章IO字节输入流(163min)
2.1File类
2.1.1构造器
2.1.2常用方法
2.1.3搜索工具类
2.2InputStream抽象类
2.3FileInputStream类
2.3.1构造器
2.3.2常用方法
2.4ByteArrayInputStream类
2.4.1构造器
2.4.2常用方法
2.5SequenceInputStream类
2.5.1构造器
2.5.2常用方法
2.6ObjectInputStream类
2.6.1初始化数据
2.6.2构造器
2.6.3常用方法
2.6.4自定义序列化对象
小结
习题
第3章IO字节输出流(64min)
3.1OutputStream抽象类
3.2FileOutputStream类
3.2.1构造器
3.2.2常用方法
3.3ByteArrayOutputStream类
3.3.1构造器
3.3.2常用方法
3.4ObjectOutputStream类
3.4.1构造器
3.4.2常用方法
3.5字符编码转换工具类
小结
习题
第4章IO字符输入流(32min)
4.1Reader抽象类
4.2InputStreamReader类
4.2.1构造器
4.2.2常用方法
4.3BufferedReader类
4.3.1构造器
4.3.2常用方法
小结
习题
第5章IO字符输出流(31min)
5.1Writer抽象类
5.2OutputStreamWriter类
5.2.1构造器
5.2.2常用方法
5.3CharArrayWriter类
5.3.1构造器
5.3.2常用方法
小结
习题
第6章反射机制(92min)
6.1Class类
6.1.1使用场景
6.1.2类型信息
6.1.3元数据信息
6.2Constructor类
6.3Field类
6.4Method类
小结
习题
第7章ClassLoader类加载器(72min)
7.1ClassLoader抽象类
7.1.1基本介绍
7.1.2自定义加载器
7.1.3URLClassLoader类
7.2Annotation接口
7.2.1注解的限制
7.2.2内置注解
7.2.3自定义注解
小结
习题
第8章网络基础(142min)
8.1InetAddress类
8.1.1核心方法
8.1.2DNS服务
8.2NetworkInterface类
8.3URI类
8.3.1构造器
8.3.2常用方法
8.4URL类
8.4.1构造器
8.4.2常用方法
8.5JarURLConnection抽象类
8.5.1协议规则
8.5.2常用方法
8.6UDP
8.6.1DatagramSocket类
8.6.2DatagramPacket类
小结
习题
第9章Socket套接字(65min)
9.1ServerSocket类
9.1.1构造器
9.1.2常用方法
9.2Socket类
9.2.1构造器
9.2.2常用方法
9.2.3TCP/IP
小结
习题
第10章NIO包(200min)
10.1Buffer抽象类
10.2ByteBuffer抽象类
10.3CharBuffer抽象类
10.4IntBuffer抽象类
10.5LongBuffer抽象类
10.6ShortBuffer抽象类
10.7FloatBuffer抽象类
10.8DoubleBuffer抽象类
小结
习题
第11章文字编解码(88min)
11.1Charset字符集
11.2CharsetEncoder编码器
11.3CoderResult类
11.4CharsetDecoder解码器
小结
习题
第12章网络通道(99min)
12.1FileChannel抽象类
12.2StandardOpenOption枚举类
12.3FileLock抽象类
12.4ServerSocketChannel抽象类
12.4.1常用方法
12.4.2使用示例
12.5Selector抽象类
12.6SelectionKey抽象类
12.6.1操作集标识
12.6.2常用方法
12.7SocketChannel抽象类
12.7.1常用方法
12.7.2使用示例
小结
习题
第13章泛型(47min)
13.1泛型类声明
13.1.1普通类演示
13.1.2泛型类演示
13.2泛型类型限制
13.2.1固定泛型类型
13.2.2通用泛型类型
13.2.3泛型上限控制
13.2.4泛型下限控制
13.3泛型声明的几种方式
13.3.1泛型类
13.3.2泛型静态方法
13.3.3泛型对象方法
小结
习题
第14章List集合框架(142min)
14.1List接口
14.2ArrayList类
14.2.1构造器
14.2.2常用方法
14.3LinkedList类
14.3.1构造器
14.3.2常用方法
14.4Vector类
14.4.1构造器
14.4.2常用方法
14.5Iterator接口
14.6ListIterator接口
小结
习题
第15章Set集合框架(75min)
15.1Set接口
15.2HashSet类
15.2.1构造器
15.2.2常用方法
15.3LinkedHashSet类
15.3.1构造器
15.3.2常用方法
15.4TreeSet类
15.4.1构造器
15.4.2常用方法
小结
习题
第16章Map集合框架(124min)
16.1Map接口
16.2HashMap类
16.2.1数据结构
16.2.2构造器
16.2.3常用方法
16.2.4TreeNode类
16.3LinkedHashMap类
16.3.1数据结构
16.3.2构造器
16.3.3常用方法
16.4TreeMap类
16.4.1数据结构
16.4.2构造器
16.4.3常用方法
小结
习题
第17章开源WebSocket框架(115min)
17.1IM聊天软件
17.1.1前端展示
17.1.2后端介绍
17.2WebSocket协议
17.2.1WebSocket握手
17.2.2WebSocket数据交互
17.3后端服务
17.3.1启动流程
17.3.2Boss服务
17.3.3TLS握手
17.3.4Work服务
17.3.5事件服务
小结
习题
第18章虚拟线程(51min)
18.1创建虚拟线程
18.2虚拟线程特点
18.3配置承运方线程
小结
作者简介
刘宁萌,资深Java工程师,热爱软件技术行业。多年Java从业经验,研究方向包括后端架构设计、分布式、微服务、2D游戏引擎、桌面程序开发等。出版图书《Java多线程并发体系实战(微课视频版)》。
-
造神:人工智能神话的起源和破除 (精装)
¥49.4¥88.0 -
人人都能学AI
¥48.6¥68.0 -
过程控制技术(第2版高职高专规划教材)
¥33.3¥38.0 -
系统性创新手册(管理版)
¥42.6¥119.0 -
人工智能
¥20.3¥55.0 -
WPS OFFICE完全自学教程(第2版)
¥97.3¥139.0 -
智能视频目标检测与识别技术
¥43.5¥59.0 -
人工智能基础及应用
¥33.6¥48.0 -
深入浅出软件架构
¥117.2¥186.0 -
中国通用人工智能发展报告(2024):生成式人工智能的发展与创新(仅供馆配)
¥89.7¥138.0 -
软件设计的哲学(第2版)
¥50.6¥69.8 -
大数据技术导论(第2版)
¥28.9¥41.0 -
人工智能的底层逻辑
¥55.5¥79.0 -
剪映+PREMIERE+AIGC 短视频制作速成
¥73.5¥98.0 -
剪映AI
¥56.4¥88.0 -
数据采集与处理
¥36.4¥49.8 -
PLC结构化文本编程(第2版)
¥57.9¥79.0 -
中小型网络组建与管理
¥30.7¥43.0 -
上海市老年教育推荐用书:老年人智慧生活(进阶篇)
¥32.5¥45.0 -
上海市老年教育推荐用书:老年人智慧生活(初级篇)
¥29.3¥45.0