授权协议: Apache
开发语言: Java
操作系统: 跨平台
收录时间: 2012-12-12
提 交 者: 齐楠

设计初衷是提供方便易用,且高效率的nio框架,一部分实现上参考了mina。还包括线程池,编解码,内存池等机制,以便于开发高性能tcp程序。 文档后续会慢慢的补上。 整体实现上尽量少的使用锁,避免cpu浪费。 整体框架提供了服务线程池,对于一个连接来讲,这个连接的事件将会在线程池中执行,不过这个过程保证是顺序执行的,例如对于一个连接,在差不多同时的时间 接收到了两个包,那么,我们可以认为,在第一次接受事件未执行完,第二个事件不会被执行,即这两个事件不是分别被发送到两条线程中执行,可以认为是被串行 化到同一条线程中(注意:此处一条线程,并不是真的在同一条线程中执行,这两个事件可能在不同线程中,只不过框架严格保证执行的先后顺序了,所以对于 ThreadLocal变量的使用,是不安全的)。由于线程池的添加,我们在开过程中,无需再考虑业务层消耗,直接按事件触发式就可以了,也不用再将数据 包投递到另外的线程中。使用方式参见TestProtocolClient,TestProtocolServer

框架还提供了完全不使用线程池的方式,请参见TestClient,TestServer

当然,如果你需要部分事件置入到线程池,也是可以的,后续,我会补一下这反面的例子代码

循环内存池的机制,实际上是为了提供一种避免gc的一种方式,当然如果你的程序不需要内存池也可以取消掉,内存池采用的是块分配,例如块大小1024,如果需要4096的话,内存池会返回4个块,具体使用可以参考TextLineProtocol类.

TextLineProtocol提供了按行的协议解析,字符采用的unicode编码,在类似这种情况下,内存池的作用就体现出来了,不用每次new新的byte数组了。

展开阅读全文

nio java raptor 的相关资讯

还没有任何资讯

nio java raptor 的相关博客

Java---NIO

java-----NIO总结(一) java-----NIO总结(二) java-----NIO总结(三) java-----NIO总结(四)...

Java NIO

1.目录 Java IO的历史 Java NIO之Channel Java NIO之Buffer Java NIO之Selector Java NIO之文件处理 Java NIO之Charset Java ...

Java Nio

Java NIO 简介 Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样...

Java NIO

了解java的NIO,需要先了解同步异步以及阻塞非阻塞的概念,同步/异步,阻塞/非阻塞 NIO就是采用的同步非阻塞这种组合方式。或...

Java NIO

一、通道(Channel):用于源节点与目标节点的连接。在 Java NIO 中负责缓冲区中数据的传输。Channel 本身不存储数据,因此需...

Java NIO

NIO服务端和客户端代码实现 服务端: import java.io.IOException; import java.net.InetSocketAddress; import java.nio.Byt...

JAVA NIO

----NIO与IO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样...

nio java raptor 的相关问答

评论 (0)

加载中
更多评论
0 评论
24 收藏
分享
在线直播报名
返回顶部
顶部