
netty
文章平均质量分 67
编程牧马人
公众号:「编程牧马人」一个菜鸟的成长之路...
展开
-
ProtoType 消息体创建
protoType原创 2022-07-12 17:02:44 · 159 阅读 · 0 评论 -
Netty-EventLoopGroup笔记
netty 笔记原创 2022-07-12 17:00:33 · 702 阅读 · 0 评论 -
SimpleChannelInboundHandler 源码笔记
io.netty.util.internal.TypeParameterMatcher定义: 类型参数匹配器功能: 用于判断 SimpleChannelInboundHandler<?> 中传入参数是否是该handler要处理的 messageio.netty.channel.SimpleChannelInboundHandlerpublic abstract class SimpleChannelInboundHandler<I> extends ChannelInboun原创 2022-03-25 10:49:34 · 618 阅读 · 0 评论 -
ByteBuf 的释放
文章来源Reference counted objects 和 Netty官方文档翻译看完本篇文章在看ByteBuf 的回收 recycler,会更好理解自从Netty 4开始,对象的生命周期由它们的引用计数(reference counts)管理,而不是由垃圾收集器(garbage collector)管理了。ByteBuf是最值得注意的,它使用了引用计数来改进分配内存和释放内存的性能。每个对象的初始计数为1:ByteBuf buf = ctx.alloc().directBuffer();转载 2022-03-21 10:13:53 · 1076 阅读 · 0 评论 -
Recycler 笔记
参考文章:Netty技术细节源码分析-Recycler对象池原理分析 和Netty之Recycler定义:基于线程本地堆栈的轻量级对象池。四个核心内部类DefaultHandle:对象的包装类,在Recycler中缓存的对象都会包装成DefaultHandle类。Stack:存储本线程回收的对象。对象的获取和回收对应Stack的pop和push,即获取对象时从Stack中pop出1个DefaultHandle,回收对象时将对象包装成DefaultHandle push到Stack中。Stack会转载 2022-03-18 17:38:13 · 319 阅读 · 0 评论 -
ByteBuf 笔记
/** * Netty 内存分配容器 ByteBuf */public class ByteBufDemo { public void doAlloc(ChannelHandlerContext ctx, UserModel userModel) { // 初始化容器内存大小, ByteBuf byteBuf = ctx.alloc().directBuffer().capacity(1024); /** * 经验表明,Byt原创 2022-03-17 16:14:52 · 464 阅读 · 0 评论 -
AbstractReferenceCountedByteBuf笔记
类定义public abstract class AbstractReferenceCountedByteBuf extends AbstractByteBuf {}public abstract class AbstractByteBuf extends ByteBuf {}public abstract class ByteBuf implements ReferenceCounted, Comparable<ByteBuf> {}ByteBuf申明了对接口ReferenceCou原创 2022-03-17 16:01:23 · 412 阅读 · 0 评论 -
ChannelPipeline 笔记
流通图下图描述了 {@link ChannelPipeline} 中的 {@link ChannelHandler} 通常如何处理 IO 事件。 IO 事件由 {@link ChannelInboundHandler} 或 {@link ChannelOutboundHandler} 处理,并通过调用 {@link ChannelHandlerContext} 中定义的事件传播方法转发到其最近的处理程序,例如 {@link ChannelHandlerContextfireChannelRead(Obje原创 2022-03-17 09:53:44 · 217 阅读 · 0 评论 -
AbstractChannelHandlerContext 笔记
类定义:abstract class AbstractChannelHandlerContext extends DefaultAttributeMap implements ChannelHandlerContext, ResourceLeakHint {}类属性:next && prev每个AbstractChannelHandlerContext都保存有两个属性, next和prev, 明显是做链表.volatile AbstractChannelHand.原创 2022-03-16 20:23:43 · 852 阅读 · 0 评论