- 博客(7)
- 资源 (10)
- 收藏
- 关注
原创 【置顶】About Me の
随手记时间线2021年4月27日找工作也到一段落了,我终于来北京啦,哈哈哈~我也不知道为什么,北京这座城市给我的归属感要大于唐山。可能这就是我一直要来的原因吧!这次我也是下了血本,买了大显示器。有时间要尽可能的多看看书,多思考,多总结,多学习。...
2021-04-27 14:03:45 246
原创 【Netty专题】Netty源码剖析_NioEventLoop组件
NioEventLoop组件是Netty的核心组件之一,每个NioEventLoop对象都和Nio的多路复用器Selector一样,要管理成千上万条链路的处理。NioEventLoop的结构图:NioEventLoop有以下5个核心功能:• 开启Selector并初始化。• 把ServerSocketChannel注册到Selector上。• 处理各种I/O事件,如OP_ACCEPT、OP_CONNECT、OP_READ、OP_WRITE事件。• 执行定时调度任务。• 解决JDK空轮询bug
2021-04-11 22:39:46 1355
原创 【Netty专题】Netty源码剖析_NioEventLoopGroup组件
用过Netty的都知道,在Netty启动的时候我们需要设置两个线程组,一个叫做Boss,一个叫做Worker,那么两个其实本质都是_NioEventLoopGroup线程组对象。接下来我们来分析下_NioEventLoopGroup都做了哪些事情?创建一定数量的NioEventLoop线程组并初始化创建线程选择器chooser,当获取线程时,通过选择器来获取。创建线程工厂并构建线程执行器。NioEventLoopGroup的结构图:可以看到_NioEventLoopGroup继承Multi
2021-04-11 16:01:19 1435
原创 【Netty专题】Netty源码剖析_Channel通道
首先我们来思考一个问题,什么是Channel?Channel是Netty抽象出来的对网络I/O进行读/写的相关接口,与NIO中的Channel接口类似。那么Channel有哪些主要功能?网络I/O的读/写客户端发起连接主动关闭连接、关闭链路获取通信双方的地址说明:Netty支持除了TCP以外的多种协议。不同协议、不同阻塞类型的连接会有所不同的Channel类型与之对应。下面我们来看一下常见的几种Channel:1. AbstractChannel首先他有几个主要属性:
2021-04-11 15:23:39 1723
原创 【Netty专题】Netty源码剖析_ByteBuf缓冲区
ByteBuf 是Netty的常用组件之一,下面我们来看看他的内部原理究竟是什么样子?ByteBuf的主要特性如下:首先我们思考一个问题,Java JDK自带的NIO Buffer为什么不用呢?有什么优缺点吗?1. 两种缓冲区的对比?NIO ByteBuffer(java.nio.ByteBuffer):只有一个位置指针position,切换读写状态时,需手动调用flip()方式或rewind()方式长度固定,一旦分配完成就不能再扩容和收缩当存入对象大于已有容量时,会引发一场。再来对
2021-04-10 21:42:07 1431 2
原创 【Netty专题】Netty 中channelRead 和 channelRead0 有什么区别?
最近做项目发现Netty中的channel有channelRead 方法也有channelRead0 方法,然后思考下这两个有什么区别呢?我们来直接看源码channelRead@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { boolean release = true; try { if (acce.
2021-04-07 09:18:46 18526
原创 写一写我经历的两座城市——唐山和石家庄
今天是2021-04-05,清明前后。今天是一个重要的日子,为什么这么说呢?因为今天我做别了我身处几年的石家庄,唯一遗憾的是没有赶上小区楼下最后一班地铁的开通(仅仅相差一天)。其实这两天我最大的感受就是石家庄和唐山的不同,说说我的感受吧。石家庄这座城市给我的感觉就是包容性很强,年轻,并且富有活力。可在唐山不一样,唐山是一个工业出身的背景,因此你在找工作就可以发现唐山的大企业一般都是和工业或机械挂钩。很少有互联网公司,即便有也屈指可数。石家庄的年轻人很多,无论是大街上,商场里,小区楼下,你总...
2021-04-05 18:26:44 333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人