NIO
文章平均质量分 70
凤鸣86
这个作者很懒,什么都没留下…
展开
-
加密算法--总结
最近在给文件做加密时,遇到一些问题,主要是在加密过程中采用加密输入流遇到的问题,总结成代码如下:package utils;import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.Byte原创 2016-02-03 18:07:32 · 344 阅读 · 0 评论 -
NIO框架(1)---Buffer
NIO作为非阻塞框架,在多线程并发开发中应用比较广,现在让我们一起来深入的了解一下NIO框架。 首先确定一下文章的结构: 1.NIO的Buffer 2.NIO的管道Channel 3.NIO的选择器Selector,SelectionKey 4.NIO的编码 5.最后我们用一个例子来总结一下NIO的使用 一、NIO的Buffer Buffer常用缓冲区数据类型 名称 描述原创 2016-05-11 14:29:40 · 367 阅读 · 0 评论 -
NIO框架(2)---Channel
上一次,我们总结了常用buffer种类和方法,这一次我们来总结一下常用的Channel,我们将Channel根据不同的用途分为三种:网络Channel,文件Channel,管道Channel一. 网络Channel 名称 描述 ServerSocketChannel 监听socket流的channel SocketChannel 连接socket的channel Datag原创 2016-05-13 09:01:35 · 443 阅读 · 0 评论 -
NIO框架(3)---Selector
前两篇NIO文章介绍了Buffer和Channel,在介绍Channel的时候,我们我们通过生成一个线程来处理一个Channel事件,如果我们处理很多个事件,那么我们就需要启用多个线程来处理Channel事件,可不可以使用尽量少的线程来处理检测Channel事件呢? 接下来介绍一下Channel的传达室门卫Selector,为什么说Selector是门卫呢?因为Selector就像一个门卫一样监控原创 2016-05-13 17:13:27 · 332 阅读 · 0 评论 -
NIO框架(4)---聊天室
前几篇文章介绍了NIO的几个主要构件,包括缓冲区Buffer、传输通道Channel、消息选择器Selector以及消息类别SelectionKey,接下来我们通过一个聊天室的例子来了解一下以上各种组件的用法。聊天室分为服务器端和客户端,服务器端接收客户端发来的请求消息,并生成一个Channel来处理客户端的消息;客户端生成Channel来连接服务器,发送消息,然后再注册一个新的Channel来接收原创 2016-05-17 14:53:24 · 395 阅读 · 0 评论 -
Netty之Java堆外内存扫盲贴
Java的堆外内存本来是高贵而神秘的东西,只在一些缓存方案的收费企业版里出现。但自从用了Netty,就变成了天天打交道的事情,毕竟堆外内存能减少IO时的内存复制,不需要堆内存Buffer拷贝一份到直接内存中,然后才写入Socket中;而且也没了烦人的GC。 好在,Netty所用的堆外内存只是Java NIO的 DirectByteBuffer类,通读一次很快。还有一些sun.misc.*的类木有源...转载 2019-02-21 11:45:25 · 632 阅读 · 0 评论