為什麼要使用NIO

2021-09-01 15:30:45 字數 531 閱讀 8333

為什麼要使用nio

io的常用概念

io操作:向作業系統發出請求,把資料移出和移入緩衝區。

使用者空間:是常規程序所在區域。jvm就是常規程序,駐守於使用者空間。使用者空間是非特權區域:比如,在該區域執行的**就不能直接訪問硬體裝置。硬體通常不能直接訪問使用者空間。

核心空間:它能與裝置控制器通訊,控制著使用者區域程序的執行狀態等等。最重要的是,所有i/o都直接或間接通過核心空間。在資料往來於使用者空間與儲存裝置的過程中,核心負責資料的分解、再組合工作,因此充當著中間人的角色。

通道(channel):channel用於在位元組緩衝區和位於通道另一側的實體(通常是乙個檔案或套接字)之間有效地傳輸資料。

socket:用於描述ip位址和埠。socket實質上提供了程序通訊的端點。程序通訊之前,雙方首先必須各自建立乙個端點,否則是沒有辦法建立聯絡並相互通訊的。

dma(direct memory access,直接記憶體訪問) 他允許不同速度的硬體裝置來溝通.

記憶體分頁:將乙個頁面分成兩個或兩個以上的頁面。其中幾個裝入記憶體,其餘儲存於磁碟。

為什麼要使用blog

有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...

為什麼要使用XML

xml 代表擴充套件標記語言 extensible markup language 是由 world wide web consortium w 3c 的 xml工作組定義的。這個工作組是這樣描述該語言的 擴充套件標記語言 xml 是 sgml 的子集,其目標是允許普通的 sgml 在web 上以目...

為什麼要使用Nginx?

有人說這些基準測試是不準確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基準測試只是告訴了我們其中一部分情況,你能做的是消除偏見 有人見過所有人都同意乙個基準測試是公平的嗎?我是沒見過。我們投資的一些公司把web平台切換到nginx後,可以顯著的解決擴充套件問題。nginx明顯有效的實現了今...