-
NIO 网络编程模型
1.注册建立连接事件(Selector)
2.客户端发起连接请求
3.服务端接收请求,启动建立连接事件处理器(Acceptor Handler)
4.Acceptor Handler创建与客户端的连接
5.Acceptor Handler响应客户端建立连接请求
6.Acceptor Handler向Selector注册连接可读事件
7.Client发起请求
8.Selector启动连接读写处理器(Read&Write Handler)
9.Read&Write Handler处理与Client的读写业务
10.Read&Write Handler响应Client的请求
11.Read&Write Handler向Selector注册连接可读事件查看全部 -
模型:对事物共性的抽象
编辑模型:对编辑共性的抽象查看全部 -
么意了没睡去你不知道吗啡查看全部
-
发现的很很多次交查看全部
-
笔记笔记~记笔记。。。
查看全部 -
总结
查看全部 -
笔记2
查看全部 -
biji1
查看全部 -
First
查看全部 -
First
查看全部 -
NIO网络模型图
查看全部 -
接收服务器响应
查看全部 -
客户端编写:
1 连接服务 - 一行代码就够而且很直观,没有什么函数式接口嵌套结构
SocketChannel.open(new InetSocketAdress(.... ))
2 发送数据 - 也很简单直观,一行代码
这里他用了终端输入 Scanner 作为要发送数据的来源,这个也可以学习下,如果要急速开发,甚至连网页界面也可以省略
socketChannel.write(.... )
3 接收响应 (这一节里没有,下节课)
查看全部 -
NIO编程实现步骤
查看全部 -
3.Selector简介
1)作用:IO就绪选择
2)地位:NIO网络变成的基础
3)代码片段:
4)SelectionKey简介
查看全部 -
2,Buffer简介
1)作用:读写Channel中的数据
2)本质:一块内存区域
3)Buffer的属性:
Capacity:容量
Position:位置
Limit:上限
Mark:标记
4)AIP:
查看全部 -
NIO核心
Channel :通道
特点:
1)双向性(通道和流类似,但是流是单向的,而通道多双向的,既可以读也可以写)
2)非阻塞性
3)操作唯一性(NIO中,对Channel的操作具有唯一性,基于数据块的一个操作,通过buffer来操作)
常用的实现类:
1)文件类:FileChannel
2)UDP类:DatagramChannel
3)TCP类:ServerSocketChannel / SocketChannel
socket回顾:
Channel的使用:
Buffer: 缓冲区
Selector:选择器 / 多路复用器
查看全部 -
NIO模型的改进
非阻塞式IO模型
弹性伸缩能力强
单线程更加的节省资源
查看全部 -
NIO模型
查看全部 -
NIO网络模型
基于非阻塞IO的模型
课程给出了一个思路:维护一个set集合,里面存放客户端发过来的请求,不断的去循环这个set,如果发现read有数据返回就交给一个handler去处理,否则就不处理当前这个请求,继续去循环下一个
查看全部 -
BIO模型的缺点
阻塞式IO模型
弹性伸缩能力差:一个客户端对于一个服务端的业务线程,线程数和客户端是1:1的关系
多线程消耗资源
查看全部 -
BIO网络模型
BIO:阻塞IO ,在读写过程中会出现阻塞
如果客户端没有进一步的响应,此时服务端会处于长时间的等待状态。
如果服务端有大量的线程处于等待状态,显然会对服务端的性能造成影响。
查看全部 -
NIO网络编程模型
NIO简介
编程模型
查看全部 -
前置知识:
JAVA基础知识
BIO网络编程基础知识
多线程基础知识
查看全部 -
NIO网络编程模型
NIO网络编程详解
NIO网络编程实战
NIO网络编程的缺陷
查看全部
举报