NIO学习笔记一(概述)
????? 今天开始学习Java nio的知识。学习的内容来自于以下地址:
????? http://tutorials.jenkov.com/java-nio/overview.html
????? 里面有JAVA NIO的入门文章。
????? 另外发现了一个关于并发学习的网站,对于学习并发是个比较好的选择,网址如下:
????? http://ifeve.com/category/concurrency-translation/
????? 以下为chp 1的内容:
?
1、NIO组成
JAVA nio主要由如下三部分组成:
2、Channels 和 Buffers
IO 与 NIO都是从 Channel开始的。 数据可以从Channel中读入并写入到Buffer中,而从Buffer读到的数
据也可以写入到Channel中。如下图:
?????? 
Java NIO: Channels read data into Buffers, and Buffers write data into Channels
?
Channel的主要实现类,涵盖了常用的文件、UDP、TCP等,主要包括以下种类:
FileChannelDatagramChannelSocketChannelServerSocketChannel?????? Buffer的主要实现类,涵盖了主要的基本数据种类,如下:
ByteBufferCharBufferDoubleBufferFloatBufferIntBufferLongBufferShortBuffer3、Selectors
?Selectors允许一个线程来处理多个Channels。图形表示如下:

Java NIO: A Thread uses a Selector to handle 3 Channel's
?
?
?
????