随笔分类 -  Netty

摘要:ThreadLocal: ThreadLocalMap中实际存储键值对的是Entry[]数组,Entry对象的Key为ThreadLocal对象,value为线程持有的本地变量。 Entry继承了WeakReference<ThreadLocal<?>>,所以Entry对象是其key即ThreadL 阅读全文
posted @ 2022-03-22 09:35 杨岂 阅读(250) 评论(0) 推荐(0) 编辑
摘要:时间轮 什么是时间轮? 简单来说,时间轮是一种高效利用线程资源进行批量化调度的一种调度模型。 通过把大批量的调度任务全部绑定到同一个调度器上,使用这一个调度器来进行所有任务的管理、触发、以及运行。 所以时间轮的模型能够高效管理各种延时任务、周期任务、通知任务。 时间轮是以时间作为刻度组成的一个环形队 阅读全文
posted @ 2022-01-24 15:51 杨岂 阅读(6388) 评论(0) 推荐(2) 编辑
摘要:TCP粘包、半包、拆包 客户端发送数据包给服务端,因服务端一次读取到的字节数是不确定的,有好几种情况: 1、服务端分两次读取到了两个独立的数据包,没有粘包和拆包 2、服务端一次接收到了两个数据包,粘合在一起,被称为 TCP 粘包 3、服务端分两次读取到了两个数据包,第一次读取到了完整的包和另外一个包 阅读全文
posted @ 2022-01-17 20:21 杨岂 阅读(733) 评论(0) 推荐(0) 编辑
摘要:Netty对三种IO模式的支持: BIO-> OIO (Deprecated) NIO AIO (Removed) Common Linux macOS/BSD ThreadPerChannelEventLoopGroup NioEventLoopGroup EpollEventLoopGroup 阅读全文
posted @ 2021-12-26 17:39 杨岂 阅读(203) 评论(0) 推荐(0) 编辑
摘要:一个完善的底层通信框架需要具备哪些功能? 网络协议 编解码支持 网络通信都是字节流,因此需要提供编解码的支持 各种通信协议支持 每个团队涉及的通信协议可能不同,因此框架需要尽可能的支持常见的协议 粘包和拆包问题 支持分隔符切分,固定长度等 连接管理 连接资源是有限的,所以要保持合理的连接数,通过心跳 阅读全文
posted @ 2021-03-31 16:03 杨岂 阅读(145) 评论(0) 推荐(1) 编辑
摘要:I/O是什么? I/O其实就是 input 和 output 的缩写,即输入/输出。 I/O 就是指内存与外部设备之间的交互(数据拷贝) 磁盘 I/O 指的是硬盘和内存之间的输入输出 读取本地文件的时候,要将磁盘的数据拷贝到内存中,修改本地文件的时候,需要把修改后的数据拷贝到磁盘中 网络 I/O 指 阅读全文
posted @ 2019-06-25 23:07 杨岂 阅读(217) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示