自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 netty源码学习第三章:ByteBuf

先来学习几个概念:一、对象池技术对象池其实就是缓存一些对象从而避免大量创建同一个类型的对象,类似线程池的概念。对象池缓存了一些已经创建好的对象,避免需要时才创建对象,同时限制了实例的个数。池化技术最终要的就是重复的使用池内已经创建的对象。从上面的内容就可以看出对象池适用于以下几个场景:创建对象的开销大会创建大量的实例限制一些资源的使用Apache Commons P

2017-02-15 16:15:37 214

转载 netty源码学习第二章:聊聊IO多路复用

I/O多路复用就是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。这里简单描述select、poll和epoll的区别。select处理流程:(1)使用copy_from_user从用户空间拷贝fd_set到内核空间(2)注册回调函数__pollwait(3)遍历所有fd,调用其对应的p

2017-02-14 16:53:56 449

原创 netty源码学习第一章:聊聊mmap

mmap是将一个文件映射到内存中。常规文件操作为了提高读写效率和保护磁盘,使用了页缓存机制。这要造成读文件时要将文件页从磁盘拷贝到页缓存中,由于页缓存处在内核空间,不能被用户进程直接寻址,所以还需要将页缓存中数据再次拷贝到内存对应的用户空间中。这样,通过了两次数据拷贝的过程,才能完成进程对文件内容的获取任务。写操作也是一样,待写入的buffer在内核空间不能直接访问,必须要先拷贝到内核空间对应

2017-02-14 14:42:46 1013

原创 准备研究netty源码

说了惭愧,作为一个9年经验的老码农,从来没有研究过一个开源的项目。现在将netty作为研究对象。

2017-02-14 12:03:39 206

空空如也

空空如也

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

TA关注的人

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