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

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

1星价 ¥69.4 (7.8折)
2星价¥69.4 定价¥89.0
暂无评论
图文详情
  • 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章介绍了单例双重检查锁机制、happensbefore原则、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扩展happensbefore

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多线程并发体系实战(微课视频版)》。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航