专题NIO
2023-08-01 16:02:24 8 举报
AI智能生成
java NIO学习笔记
作者其他创作
大纲/内容
Netty
Redis
Zookeeper
IO基础
内核态和用户态
read和write
数据缓冲区
调用流程
子主题
IO模型
同步阻塞
图示
同步非阻塞NIO
图示
IO多路复用
图示
异步IO
图示
Linux文件句柄配置
Java NewIO
核心组件
Chanel
4子类
FileChannel
创建FileChannel
read()
write()
force()
SocketChannel
configureBlocking()
ServerSocketChannel
register(Selector,SelectionKey)
accept()
Buffer
8子类
重要属性
capacity
position
limit
mark
重要方法
allocate()
put()
flip()
get()
rewind()
mark()和reset()
clear()
Selector
SelectableChannel
SelectionKey
open()
select()
select是阻塞方法,阻塞期间 channel.resiger方法也会阻塞住。
代码示例
客户端
服务端
Reactor模式
简介
Reactor
Handler
单线程Reactor模型
EchoReactor 负责开启Socket服务端, 轮询就绪状态,分发连接
其内部类 AcceptorHandler 专门处理 accept事件
EchoHandler 负责读取数据,处理数据
图示
多线程Reactor模型
MEchoReactor 负责开启Socket服务端
其内部类 AcceptorHandler 专门处理 accept事件
SubReactor 子响应器
轮询就绪状态,分发连接
MEchoHandler 处理器
内部可以维护一个线程池,执行任务
图示
0 条评论
下一页