-
第1章 【开宗明义】网络编程三剑客BIO、NIO、AIO
网络编程是RPC的奠基,RPC编程贯穿了程序员生涯的始终。本章首先分析为什么要学网络编,本课为谁设计,然后介绍课程内容主线脉络,让大家清晰知道本课程并非光说不练的假把式,而是处处有实战,实战项目步步优化,最后通过综合项目巩固所学。...
- 1-1 【探秘java.io】始于BIO,陷于NIO,终于AIO试看
-
第2章 网络层的解析与协议
本章首先对网络中涉及的网络链路层的解析进行讲解,进一步引出网络基本协议知识。使学员了解分层思想,对三种协议的定位及作用有所了解。
- 2-1 URL解析与构造
- 2-2 域名DNS的解析过程
- 2-3 域名DNS查询的两种方式:递归与迭代
- 2-4 网络协议快速扫盲
- 2-5 网络协议分门别类
- 2-6 连接一切(物理、网卡、主机、端口的连接)
- 2-7 网络各个层的数据包格式
-
第3章 解读java.io专业术语也可以变得生动精辟
本章对java.io包进行介绍,同时以一个直击灵魂的例子“告白为例”讲解同步异步阻塞非阻塞等几个专业术语,通俗易懂,印象深刻,最后简单普及线程及线程池的使用方式,主要目的是在后面IO网络编程中分析问题及使用做储备。...
- 3-1 java.io之字符流
- 3-2 java.io之字节流
- 3-3 Socket概述
- 3-4 同步异步阻塞非阻塞试看
- 3-5 网络通信中的线程池
-
第4章 JavaIO的“前世”:BIO阻塞模型
本章引入编程模型的概念,首先通过分析BIO编程模型,使同学了解BIO设计思想;然后对BIO编程核心类和网络编程原理进行讲解,使同学掌握BIO编程步骤,为后续进行基于NIO的聊天室做铺垫。
- 4-1 Socket与ServerSocket
- 4-2 实战:ServerSocket试看
- 4-3 实战:Socket
- 4-4 运行简单的服务器客户端实例
- 4-5 运行改进的服务器客户端实例(上)
- 4-6 运行改进的服务器客户端实例(下)
-
第5章 实战:基于BIO的多人聊天室设计与实现
光说不练假把式。所谓以史为鉴,可以知兴替,现在开始用最古老最传统的技术BIO进行多人聊天室的设计和实战。从BIO编程模型的分析,到聊天室功能的抽象,到设计与UML建模,最终到实现,进一步优化重构,步步不离实际开发。...
- 5-1 BIO编程模型简析
- 5-2 多人聊天室功能概述
- 5-3 多人聊天室设计
- 5-4 多人聊天室设计UML建模之时序图
- 5-5 实现聊天室服务端:ChatServer
- 5-6 实现聊天室监听器:ChatHandler(上)
- 5-7 实现聊天室监听器:ChatHandler(下)
- 5-8 实现聊天室客户端:ChatClient
- 5-9 实现聊天室用户输入监听器:UserInputHandler(上)
- 5-10 实现聊天室用户输入监听器:UserInputHandler(下)
- 5-11 多人聊天室演示(上)
- 5-12 多人聊天室演示(下)
- 5-13 伪异步IO编程模型简析
- 5-14 使用伪异步IO改进多人聊天室
-
第6章 JavaIO的“今生”:NIO非阻塞模型
首先对比上一章BIO编程模型介绍NIO编程模型,通过对比讲解NIO在编程模型上的优点;然后讲解NIO中核心类;分别利用BIO和NIO实战本地文件拷贝功能并分析性能差异引起的原因,夯实NIO的基本功,为后续的改造聊天室功能做技术铺垫。...
- 6-1 NIO概述
- 6-2 Buffer简析
- 6-3 Channel简析
- 6-4 实战:多方法实现本地文件拷贝(上)
- 6-5 实战:多方法实现本地文件拷贝(下)
- 6-6 本地文件拷贝演示(上)
- 6-7 本地文件拷贝演示(下)
- 6-8 Selector简析
-
第7章 实战:使用NIO改造多人聊天室
传说,目前很火的NIO框架是Netty,不学好NIO,进入Netty世界会被虐,还有RPC的基石也是NIO,所以话不多说,本章以代码驱动式让你全面掌握NIO模型下的编程,同时让你感受聊天室改造后性能的提升。
- 7-1 NIO编程模型精讲
- 7-2 NIO模型实现ChatServe_1
- 7-3 NIO模型实现ChatServer_2
- 7-4 NIO模型实现ChatServer-accept事件
- 7-5 NIO模型实现ChatServer_read事件
- 7-6 NIO模型实现ChatServer_6
- 7-7 NIO模型实现ChatClient_1
- 7-8 NIO模型实现ChatClient_2
- 7-9 NIO模型多人聊天室演示
-
第8章 JavaIO的“后世”之师:AIO异步通信模型
首先对照BIO、NIO介绍AIO编程模型,回顾三种编程模型,总结IO网络编程的演化历史;然后讲解JDK中AIO核心类及实现原理并梳理AIO编程步骤。
- 8-1 内核IO模型
- 8-2 异步调用机制
- 8-3 服务器端实现(第一回合)
- 8-4 服务器端实现(第二回合)
- 8-5 服务器端实现(第三回合)
- 8-6 服务器端实现(最终回合)
- 8-7 客户端实现
- 8-8 演示
-
第9章 实战:基于AIO改造多人聊天室
所谓前事不忘后事之师,尽管当前AIO用的很少,不过按照技术发展的进程,未来可期。因此我们需要面向未来学习,面向未来编程。本章对聊天室进行AIO改造,同时观察改造前后性能的提升。
- 9-1 AIO模型
- 9-2 ChatServer服务器的创建
- 9-3 ChatServer服务器实现AcceptHandler
- 9-4 ChatServer服务器实现ClientHandler
- 9-5 ChatServer服务器在线用户列表操作
- 9-6 ChatServer服务器提取客户端身份标识
- 9-7 ChatServer服务器转发信息操作
- 9-8 AIO客户端实现
- 9-9 AIO客户端实现消息发送
- 9-10 AIO多人聊天室演示
-
第10章 综合实战:简易版Web服务器【“道”与“术”的进阶】
本章先对服务器基本知识做介绍;然后分析web服务器的原理及使用;最后带领学员动手从设计到测试完整实现一个简易版web服务器。
- 10-1 向服务器请求资源
- 10-2 Tomcat结构
- 10-3 实现Request
- 10-4 测试Request
- 10-5 实现Response
- 10-6 测试Response
- 10-7 实现Connector和Processor
- 10-8 实现TestClient
- 10-9 向webserver请求静态资源
- 10-10 实现ServletRequest和ServletResponse
- 10-11 实现Servlet
- 10-12 测试ServletProcessor
- 10-13 使用facade模式
- 10-14 实现ServletProcessor
- 10-15 向webserver请求动态资源
- 10-16 使用nio模型重写connector
- 10-17 向改写后的webserver发送请求
-
第11章 JavaIO经典再现【面试装逼必备佳品】
本章回顾前面学习到的原理及实践编程中观察到的现象,对三种IO进行总结,归纳出三种IO的优劣势及使用场景和使用限制;对常见面试题进行解答;归纳总结网络编程所有知识点。
- 11-1 BIO聊天室运行状态
- 11-2 使用线程池的BIO聊天室运行状态
- 11-3 NIO聊天室运行状态
- 11-4 AIO聊天室运行状态
- 11-5 三种IO模型的适用场景
-
第12章 曲终人散,江湖再会
恭喜小伙伴们,闯关成功,顺利get√到java.io的技能,课程尾声,对全课进行总结梳理,预祝小伙伴们前程似锦,他日我们江湖再见~~
- 12-1 思维导图总结(上)
- 12-2 思维导图总结(下)