繼上一小節分析完Java.nio直接包下的Buffer,我們再來看看下面的一些包,自然就落到了Channels通道包的實作了。Channels包的作用可謂是其中的主要作用的展現了,可以用FileChannel實作雙向I/O,ServerChannel無阻塞的通信等等。首先亮出他的目錄結構。

還有相應的服務程式接口包中的一些類
我們先來看其中的檔案鎖類,避免多線程同時操作檔案
我們再來看看其中的FileChannel類時如何操作的,首先
下面我們再來看看其中的用于Socket的SelectKey類,nio下的socket與平時我們用的用法不同,他的事件需要我們先去注冊,相當于以事件通知的形式,裡面總共有4種類型
裡面還提供可一個可關聯的對象,也許是用來存儲什麼資訊的
說完SelectorKey,我們看看SocketChannel類,
還有另外一種形式
在這個包裡還有叫Channels類跟Channel類名字太容易記混了,channel 隻是一個interface,加了一個就是一個全新的類的,我們來看看其中的read()方法,
然後我們看看剛剛提到的一個提供類,叫SelectorProvider類,
或者通過構造函數的形式去取得
Channel明顯感覺是裡面最難懂的部分了,類最多,我隻能了解個大概吧,我隻能是帶領大家入個門。好,接下來分析nio中的最後一塊新大陸,Charset。
原文連結:
https://blog.csdn.net/Androidlushangderen/article/details/39753777