JAVA_NIO ,走进JavaNIO的世界
2019獨角獸企業重金招聘Python工程師標準>>>
Java NIO: Channels and Buffers//通道和緩沖區
Java NIO: Non-blocking IO//異步IO
?//一個線程可以請求通道讀取數據到buffer中,當通道讀取數據到buffer中的時候,這個線程依然可以做其它的事情,buffer數據讀到channel也是一樣的
Java NIO: Selectors
//一個選擇器可以對象可以管理多個通道比如 connection opened, data arrived,這樣的話 一個線程就可以管理多個通道做一些數據的操作
Channels and Buffers
主要的實現 buffer的類
??? ByteBuffer
??? CharBuffer
??? DoubleBuffer
??? FloatBuffer
??? IntBuffer
??? LongBuffer
??? ShortBuffer
主要的 channel
??? FileChannel
??? DatagramChannel
??? SocketChannel
??? ServerSocketChannel
?? ?這些通道可以被用做 UDP + TCP network IO, and file IO
?? ?
?? ?Selectors//適用于低業務量
?? ??? ?
?? ?
?? ?A Thread uses a Selector to handle 3 Channel's
?? ?
?? ?一個selector 允許一個線程處理多個通道,假使你有多個連接(channel),但是適用于低業務量,使用selector 注冊在通道上? 然后調用select()方法,這個方法將會阻塞,直到有一個或者多個注冊在通道上的事件返回,
?? ?一旦方法返回,線程便可以處理這些事件,例如incoming connection(鏈接到來), data received(數據接收)
//未完待續。。。
轉載于:https://my.oschina.net/u/876290/blog/367680
總結
以上是生活随笔為你收集整理的JAVA_NIO ,走进JavaNIO的世界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate 性能优化之二级缓存
- 下一篇: 基于Java多线程操作文件案例分享