Java NIO学习笔记
介绍Java NIO基本使用和核心类如Selector、SelectionKey、以及四种Channel的详细介绍。另附有项目实战。参考书籍《Java NIO》
xlight2023
code one
展开
-
关于使用nio实现广播数据给所有已连接客户端
NIO基础学完了,NIO学会不难,但是原创 2014-07-01 23:47:07 · 5223 阅读 · 3 评论 -
Java NIO实战之聊天室
在工作之余花了两个星期看完了《Java NIO》,总体来说这本书把NIO写的很详细,没有过多的废话,讲的都是重点,只是翻译的中文版看的确实吃力,英文水平太低也没办法,总算也坚持看完了。《Java NIO》这本书的重点在于第四章讲解的“选择器”,要理解透还是要反复琢磨推敲;愚钝的我花了大概3天的时间才将NIO的选择器机制理解透并能较熟练的运用,于是便写了这个聊天室程序。下面直接上代码,jdk1.原创 2014-06-07 01:44:55 · 11911 阅读 · 12 评论 -
Java NIO服务器:远程主机强迫关闭了一个现有的连接
Java NIO聊天室 中,若客户端强制关闭,服务器会报“java.io.IOException: 远程主机强迫关闭了一个现有的连接。”,并且服务器会在报错后停止运行,错误的意思就是客户端关闭了,但是服务器还在从这个套接字通道读取数据,便抛出IOException,导致这种情况出现的原因就是,客户端异常关闭后,服务器的选择器会获取到与客户端套接字对应的套接字通道SelectionKey,并且这个k原创 2014-06-08 01:51:49 · 40818 阅读 · 5 评论 -
Java NIO笔记(八):选择器
NIO中的选择器(Selector)原创 2014-06-23 22:34:16 · 5449 阅读 · 1 评论 -
Java NIO笔记(七):Socket通道
一、Socket通道介绍 Socket通道原创 2014-06-20 23:56:31 · 5411 阅读 · 2 评论 -
Java NIO笔记(六):内存映射文件及文件通道到通道批量传输数据
一、什么是内存映射文件原创 2014-06-20 02:13:11 · 6108 阅读 · 2 评论 -
Java NIO笔记(五):通道概论&文件通道
通道是NIO的一个主要创新,用于在Buffer与通道另一端之间进行有效的数据传输,这点在Java NIO笔记(一):NIO介绍有讲过,这里不在赘述。 I/O可以分为文件IO和流IO,那么通道对应的就可以分为文件通道(FileChannel)和流通道(流通道就是套接字通道,SocketChannel),所以NIO中有四种通道实现类:FileChannel:文件通道,用于操作原创 2014-06-17 23:18:31 · 5104 阅读 · 10 评论 -
Java NIO笔记(四):ByteBuffer存取无符号数值
Java中并没有提供用来原创 2014-06-16 14:59:26 · 9531 阅读 · 2 评论 -
Java NIO笔记(三):NIO Buffer(缓冲区)之进阶
本节讲解NIO缓冲区(Buffer)比较dichen原创 2014-06-16 01:10:48 · 8004 阅读 · 4 评论 -
Java NIO笔记(二):NIO Buffer(缓冲区)之基础
在Java NIO中,Channel原创 2014-06-11 23:58:36 · 14200 阅读 · 9 评论 -
Java NIO笔记(一):NIO介绍
Java NIO即Java Non-blocking IO(Java非阻塞I/O),因为是在Jdk1.4之后增加的一套新的操作I/O工具包,所以一般会被叫做Java New IO。NIO是为提供I/O吞吐量而专门设计,其卓越的性能甚至可以与C媲美。原创 2014-06-10 02:25:03 · 6207 阅读 · 3 评论