編輯:中級開發
1. 讀和寫應該分開,NIO使用的是異步的方法但不等於說不會阻塞,在上面的例子中我們可以看到 判斷 key.isReadable() 時,對於這個SelectionKey關聯的SocketChannel盡量不要使用寫入數據量過多時ByteBuffer使用hasRemaining這樣的方法,NIO每次讀寫不一定全部要把數據讀完在一次Selector時。
2. 對於上面的解決方法我們可以繼續關注感興趣的事件,比如說使用interestOps方法,而很多資料中均使用了錯誤的繼續用Selector的register方法繼續注冊事件,這樣沒有發生錯誤的原因是每次注冊時會替換上次的這個key注冊的事件,比較僥幸,從效率上講還會判斷這個key上次注冊的是什麼事件,並不是一種正統的方法。
3. 我們可以繼續判斷寫入事件,比如key.isWritable,在寫入時來處理發送數據。這樣可以應對很多低速網絡時產生的異常。
有關的細節還有很多,下一次android開發網總結出常見的問題,並給大家一個較科學完善的框架,減少不必要的麻煩產生。
Fragment是Android honeycomb 3.0新增的概念,Fragment名為碎片不過卻和Activity十分相似,下面Android123介紹下andr
簡介: 學習了解 IBM® Rational® Rhapsody® V7.5.2 版本中的新特性與改進之處,幫助系統管理員和實時、嵌入
一個android視圖有很多控件,那麼怎麼來控制它們的位置排列呢?我們需要容器來存放這些控件並控制它們的位置排列,就像Html中div, table一樣,android
在Android 3.0中除了我們重點講解的Fragment外,Action Bar也是一個重要的內容,Action Bar主要是用於代替傳統的標題欄,對於androi