第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_forwardMessage
7-7 NIO模型实现ChatServer_handles
7-8 NIO模型实现ChatClient_1
7-9 NIO模型实现ChatClient_2
7-10 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 使用facade模式
10-13 实现ServletProcessor
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 思维导图总结(下)
评论0