netty学习02-几个核心类以及其介绍
2016-08-18 15:50
169 查看
1.package org.jboss.netty.bootstrap;
Bootstrap:初始化Channel的辅助类,为子类提供通用的数据结构。
ServerBootstrap:创建新的服务器端Channel的辅助类,接收连接请求。
ClientBootstrap:创建新的客户端Channel的辅助类,发起连接请求。
ConnectionlessBootstrap:为无连接传输创建一个新的服务器端Channel的辅助类。
2.package org.jboss.netty.buffer;
ChannelBuffer:接口,提供随机和顺序访问0或者多个bytes。推荐使用ChannelBuffers辅助类的静态工厂方法来创建一个新的ChannelBuffer。
AbstractChannelBuffer:抽象类,一个buffer的框架实现。
HeapChannelBuffer:抽象类,java heap buffer 的框架实现。
BigEndianHeapChannelBuffer:big-endian Java heap buffer,推荐使用ChannelBuffers的buffer(int)方法和wrappedBuffer(byte[])方法来创建。
ByteBufferBackedChannelBuffer:基于NIO的buffer。
DynamicChannelBuffer:动态容量的buffer,根据容量需要增长。推荐使用ChannelBuffers的dynamicBuffer(int)方法。
ChannelBuffer用以取代java NIO中的ByteBuffer,相比ByteBuffer,不需要调用flip()方法,实现内存零拷贝。
ChannelBuffer提供两个指针来支持顺序读写操作,分别是读指针和写指针,buffer被这两个指针分为三个区域,如下图所示:
问题:为什么ChannelBuffer和ByteBuffer相比,不需要调用flip()方法,以及为何可以实现内存零拷贝?
文章转自:http://ryanflyer.iteye.com/blog/1670593
Bootstrap:初始化Channel的辅助类,为子类提供通用的数据结构。
ServerBootstrap:创建新的服务器端Channel的辅助类,接收连接请求。
ClientBootstrap:创建新的客户端Channel的辅助类,发起连接请求。
ConnectionlessBootstrap:为无连接传输创建一个新的服务器端Channel的辅助类。
2.package org.jboss.netty.buffer;
ChannelBuffer:接口,提供随机和顺序访问0或者多个bytes。推荐使用ChannelBuffers辅助类的静态工厂方法来创建一个新的ChannelBuffer。
AbstractChannelBuffer:抽象类,一个buffer的框架实现。
HeapChannelBuffer:抽象类,java heap buffer 的框架实现。
BigEndianHeapChannelBuffer:big-endian Java heap buffer,推荐使用ChannelBuffers的buffer(int)方法和wrappedBuffer(byte[])方法来创建。
ByteBufferBackedChannelBuffer:基于NIO的buffer。
DynamicChannelBuffer:动态容量的buffer,根据容量需要增长。推荐使用ChannelBuffers的dynamicBuffer(int)方法。
ChannelBuffer用以取代java NIO中的ByteBuffer,相比ByteBuffer,不需要调用flip()方法,实现内存零拷贝。
ChannelBuffer提供两个指针来支持顺序读写操作,分别是读指针和写指针,buffer被这两个指针分为三个区域,如下图所示:
问题:为什么ChannelBuffer和ByteBuffer相比,不需要调用flip()方法,以及为何可以实现内存零拷贝?
文章转自:http://ryanflyer.iteye.com/blog/1670593
相关文章推荐
- 4.Spring4.x学习[核心篇][IOC/DI简介以及Spring中IOC的方式介绍]
- Java2核心技术第七版的学习笔记(一):An Introduction to Java(Java的介绍)
- 介绍几个学习C语言编程的链接
- 关于Linux内核学习的误区以及相关书籍介绍
- java学习_1.java介绍以及第一个程序
- 关于马士兵老师的介绍_02(内含马士兵课程学习顺序)
- Oracle 学习过程中的笔记以及几个问题
- Android初级开发第八讲--ListView学习以及特性介绍
- ADO.NET Entity Framework 学习初级篇2--几个重要类的介绍
- 关于Linux内核学习的误区以及相关书籍介绍
- ApiDemo学习之CreateBitmap以及 Paint类介绍
- ThickBox学习之一 ThickBox介绍以及单图片显示示例
- 优秀是一种习惯:几个英语学习习惯的介绍和实施
- 几个英语学习习惯的介绍和实施
- 关于Linux内核学习的误区以及相关书籍介绍
- 介绍几个学习C语言编程的链接
- 用过的几个linux distribute版本比较以及常用工具介绍
- Linux核心介绍以及编译
- J2ME游戏开发学习之游戏开发应用的几个核心技术
- MVC学习笔记之入门篇(二)mvc3相关介绍以及基础知识篇