1. 程式人生 > >java的IO機制

java的IO機制

-c output transfer 技術分享 內核 server ima 圖片 http

BIO、NIO、AIO

----->

Block-IO : inputStream 和OutputStream,Reader和Writer

技術分享圖片

1個連接,啟動一個線程,這樣導致很大的線程開銷

技術分享圖片

NIO的特點是:應用程序要不斷地詢問內核,是否已經準備好。

第一階段“”反復查看數據:是非阻塞的

第二階段:拷貝數據阻塞等待

NIO的核心

技術分享圖片

NIO-Channels 的類型有哪些:

  1、FileChannel (文件IO):該接口常被用於

transferTo-->把FileChannel中的數據拷貝到另外一個channel中。

transferFrom :把另外一個Channel中的數據拷貝到FileChannel中

避免了兩次用戶態和內核態間的上下文切換,則“零拷貝”,效率高

  2、DtagramChannel (UTP網絡IO)

  3、SocketChannel  (TCP網絡IO)

  4、ServerSocketChannel (TCP網絡IO)

java的IO機制