首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Netty源码
zhen_hong
创建于2023-07-03
订阅专栏
Netty源码
等 1 人订阅
共13篇文章
创建于2023-07-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
1、源码分析例子
本源码版本为5.0.0.package com.netty.import io.netty.bootstrap.import io.netty.channel.import io.netty.channel.import io.netty.channel.import io.ne...
2、NioEventLoopGroup概览
。。。。。。首先,我们尝试着去了解他们每个类的作用,如果暂时看不懂的跳过,后面肯定会用到,自然而然就知道是用来做什么的了。((NioEventLoop) e).rebuildSelectors方法循环调用每个事件执行器的rebuildSelector方法,结合方法名和netty源...
3、NioEventLoopGroup的构建
this(nThreads, executor, SelectorProvider.protected MultithreadEventLoopGroup(int nThreads, Executor executor, Object... protected Multithre...
4、ServerBootstrap之通道的创建与注册
b..channel(NioServerSocketChannel..option(ChannelOption..//绑定端口,同步等待成功,一直等待到绑定端口成功,返回一个ChannelFuture,类似JDK中的java.util.concurrent.ChannelFutu...
5、ServerBootstrap之端口绑定
private ChannelFuture io.netty.bootstrap.final Channel channel = regFuture.if (regFuture.if (regFuture.promise = channel.// Registration fut...
6、接收请求
protected int io.netty.channel.socket.nio.SocketChannel ch = javaChannel().buf.add(new NioSocketChannel(this, childEventLoopGroup().logger.w...
7、Netty的零拷贝之CompositeChannelBuffer
ChannelBuffer:接口,用于定义设置读索引,写索引,获取字节数据等方法。AbstractChannelBuffer:模板类,实现了操作索引的方法,具体的读取数据的方法交由子类实现。2.2.assert !newComponents.// Clear the cache....
8、Netty的对象池
顾名思义,就是有一个池子装着一群对象。我们需要对象的时候就从池子中取一个出来,用完之后就把对象放回池子中去。这样可以复用对象并且减少创建一个对象的开销,也可以 避免申请对象太多导致的频繁gc。从设计模式上来讲,它是一种享元模式。netty为了避免过多的创建对象和频繁的gc使用了对...
9、Netty的内存池设计
netty作为一款优秀的通信框架,不可避免的需要面对频繁的数据读入与写出,此时肯定会导致大量ByteBuf对象的创建,为了减少频繁申请内存带来的开销与gc,netty设计了内存池。假设让你设计一个内存池,你会怎么设计?也许你会创建一个字节数组,然后分配一定的大小,像下面这样 //...
10、Netty内存池之PoolChunk与PoolSubPage
2.2.1.2.1.private static final int INTEGER_SIZE_MINUS_ONE = Integer.// Use as cache for ByteBuffer created from the memory. // around the me...
11、Netty的内存池之PoolThreadCache
PoolThreadLocalCache继承了FastThreadLocal,FastThreadLocal类似JDK的ThreadLocal的作用,将对象和本地线程关联,它内部使用了一个叫 InternalThreadLocalMap的集合,这个集合内部使用数组实现,在初始化F...
12、Netty的内存池之PoolArena
PoolArena从功能上来讲综合了PoolThreadCache与PoolChunk,就像一个门面一样。// We need to use the LongCounter here as this is not guarded via synchronized block.pr...
13、Netty内存池之PooledByteBufAllocator
一、PooledByteBufAllocator的创建 PooledByteBufAllocator顾名思义,就是一个用于分配PooledByteBuf的分配器 现在有以下例子程序 上面一段代码主要操