自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄太洪的博客

Talk is cheap,show me the code

  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 死磕Netty源码之Netty编解码源码解析

前言Netty的底层是基于TCP实现的,TCP协议在传输数据的过程中一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,因此我们需要考虑Netty的粘包拆包问题源码分析Netty提供了拆包的基类ByteToMessageDecoder,如果我们为引用程序添加了解码器每次从TCP缓冲区读到数据都会调用到ByteToMessageDecode...

2018-07-14 20:26:12 1154

原创 死磕Netty源码之内存分配详解(四)PoolArena全局内存分配

内存分配 关于我:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系全局分配内存池的初始阶段线程是没有内存缓存的,所以最开始的内存分配都需要在全局分配区进行分配全局分配区的内存构造和线程私有分...

2018-07-14 20:25:20 1113

原创 死磕Netty源码之内存分配详解(三)PoolThreadCache线程缓存内存分配

内存分配 关于我:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系线程私有分配在介绍PoolArena内存分配结构分析的时候提到内存分配会先从线程缓存里分配,这个线程缓存其实就是PoolThre...

2018-07-14 20:24:46 2261 1

原创 死磕Netty源码之内存分配详解(二)PoolArena内存分配结构分析

前言在应用层通过设置PooledByteBufAllocator来执行ByteBuf的分配,但是最终的内存分配工作被委托给PoolArena。由于Netty通常用于高并发系统所以各个线程进行内存分配时竞争不可避免,这可能会极大的影响内存分配的效率,为了缓解高并发时的线程竞争,Netty允许使用者创建多个分配器(Arena)来分离锁提高内存分配效率 关于我:http://huangth....

2018-07-14 20:23:09 1524

原创 死磕Netty源码之内存分配详解(一)(PooledByteBufAllocator)

前言为了避免频繁的内存分配给系统带来负担以及GC对系统性能带来波动,Netty4使用了内存池来管理内存的分配和回收,Netty内存池参考了Slab分配和Buddy分配思想。Slab分配是将内存分割成大小不等的内存块,在用户线程请求时根据请求的内存大小分配最为贴近Size的内存快,减少内存碎片同时避免了内存浪费。Buddy分配是把一块内存块等量分割回收时候进行合并,尽可能保证系统中有足够大的连续...

2018-07-14 18:52:51 5262

原创 死磕Netty源码之ChannelPipeline源码解析(二)

前言在上一篇博客中我们介绍了Pipeline数据结构以及节点的相关操作,在这一篇博客中将介绍Pipeline的事件传播 关于我:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系事件传播i...

2018-07-14 12:15:12 673

原创 死磕Netty源码之ChannelPipeline源码解析(一)

前言ChannelPipeline数据管道是ChannelHandler数据处理器的容器,负责ChannelHandler的管理和事件的拦截与调度 关于我:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系...

2018-07-11 22:31:26 1563

原创 死磕Netty源码之新连接接入源码解析

前言本博客主要是介绍Netty在新连接接入后的相关处理 关于我:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系新连接建立新连接建立可以分为以下三个步骤1.检测到有新的连接2.将新...

2018-07-11 21:46:47 985

原创 死磕Netty源码之Reactor线程模型详解(二)NioEventLoop的执行

前言在上一篇博客介绍了NioEventLoop的启动流程,这篇博客将介绍NioEventLoop的执行流程 博客地址:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系NioEventLoop执行Ni...

2018-07-08 13:38:44 933

原创 死磕Netty源码之Reactor线程模型详解(一)NioEventLoop的启动

前言Netty中最核心的就是Reactor线程,对应Netty中的代码就是NioEventLoop。NioEventLoop是通过NioEventLoopGroup进行维护的,所以在介绍NioEventLoop前我们先介绍一下NioEventLoopGroup 博客地址:http://huangth.com GitHub地址:https://github.com/RobertoH...

2018-07-08 13:32:37 1189

原创 死磕Netty源码之服务端启动源码解析

前言本博客讲述的是Netty是如何绑定端口、启动服务。启动服务的过程中你将会了解到Netty各大核心组件 博客地址:http://huangth.com GitHub地址:https://github.com/RobertoHuang 免责声明:本系列博客并非原创,主要借鉴和抄袭闪电侠,占小狼等知名博主博客。如有侵权请及时联系服务端启动DEMO先从一个简单的服务端...

2018-07-08 12:47:23 857 1

JProfiler9入门教程

JProfiler9入门教程

2019-04-12

Zookeeper图形化客户端工具ZooInspector

Zookeeper图形化客户端工具ZooInspector

2019-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除