NIO面向buffer編程,buffer本身就是一個數組,對於數據的讀和寫都是圍繞buffer來進行的。也就是說沒有buffer,channel是沒有用武之地的。
這裏強調一點,數據在網絡中傳輸都是以字節的形式進行的。
channel在nio中扮演的是一箇中轉站的角色,對於所有網絡傳輸數據的讀和寫都是在buffer裏面進行的。寫數據一定是將buffer的數據寫到channel當中,從channel中讀取數據一定是將數據讀取到buffer當中,然後在進行讀取操作。
channel和stream最大的區別在於stream是單向的,要麼是輸入流,要麼是輸出流。而channel既可以處理請求數據又可以處理響應數據。
位置順序的比較
比較重要的一個方法