从库io no

架構設計:系統間通信4——IO通信模型和JAVA實踐 中篇 2015-09-27

架構設計:系統間通信4——IO通信模型和JAVA實踐 中篇
接上篇<架構設計:系統間通信(3)--IO通信模型和JAVA實踐 上篇>4.多路複用IO模型在"上篇"文章中,我們已經提到了使用多線程解決高並發場景的問題所在,這篇文章我們開始.現實場景我們試想一下這樣的現實場景:一個餐廳同時有100位客人到店,當然到店後第一件要做的事情就是點菜.但是問題來了,餐廳老板爲了節約人力成本目前只有一位大堂服務員 ...

IO之流程與buffer概覽 2015-09-27

IO之流程與buffer概覽
爲了說明這個流程,還是用圖來描述一下比較直觀.中間過程請參考<IO之內核buffer----"buffer cache"><IO之標准C庫buffer><IO隊列和IO調度>

IO隊列和IO調度 2015-09-27

IO隊列和IO調度
IO體系概覽 先看看本文主題IO調度和IO隊列處于整個IO體系的哪個位置,這個IO體系是非常重要的,了解IO體系我們可以對整個IO過程有個全面的認識.雖然一下兩下並不清楚IO體系各個部分的細節,但是我們總是能從這兒找到脈絡.知道什麽問題在什麽位置,這個是解決問題的時候最關鍵的.任何所謂的專家都不太可能100%的了解全部細節,但是知道脈絡,可以針對問題有的放矢.實際上也不用完全明 ...

IO之標准C庫buffer 2015-09-27

在論述這個主題之前,先介紹一下標准C庫和linux系統調用以及windows API之間的關系. 拿寫文件來舉個例子 linux下寫文件用write() windows下寫文件用WriteFile() 這說明不同操作系統實現同樣的系統功能的接口應該是不一樣的.造成這種現狀是操作系統發展的曆史原因造成的,無法在操作系統的層面統一系統函數接口.同樣功能的程序在linux上寫一套,windows上又得寫另外一套,毫無移植性可言.如果要開發一個既能在linux跑,又能在windows上跑的程序,開發成本

Linux串口IO模式的一些心得 2015-09-27

衆所周知,在Linux系統下所有設備都是以文件的形式存在,串口也一樣.通常I/O操作都是有阻塞與非阻塞的兩種方式.其中"超時"這個概念其實是阻塞中的一種處理手段,本質還是屬于阻塞的I/O模式.在Linux中串口的IO操作 本文將它分爲三種狀態:阻塞狀態超時狀態非阻塞狀態這三種狀態的轉換組合有這麽幾種:阻塞 --> 超時阻塞 --> 非阻塞超時 --> 阻塞超時 --> 非阻塞非阻塞 --> 阻塞我們一個一個來分析首先在一個串口的描述符打開的時候指定它的模式

linux 2.6內核的四種IO調度算法 2015-09-27

雖說內核2.6版本比較舊了,最新debian8已經用3.16,但許多企業伺服器還在用2.6,且不能內核升級.廢話少說,看下文:在LINUX 2.6中,有四種關于IO的調度算法,下面綜合小結一下:1) NOOPNOOP算法的全寫爲No Operation.該算法實現了最最簡單的FIFO隊列,所有IO請求大致按照先來後到的順序進行操作.之所以說"大致",原因是NOOP在FIFO的基礎上還做了相鄰IO請求的合並,並不是完完全全按照先進先出的規則滿足IO請求.NOOP假定I/O請求由驅動程序或

java io 學習筆記 2015-09-27

java io 學習筆記
java io 分類: java.io包中的是阻塞型IO:java.nio(new io)中的是非阻塞型IO.java.io采取等待數據的方式工作.new io 采用了observer模式:觀察者檢測IO端口,如果有數據進來就通知相應的應用程序. 按輸入方向分,java分輸入流和輸出流,方向的參照是程序. 按處理數據單位的不同,分字節流和字符流.字節流讀取的最小單位是一個字節( ...

websphere出現sun.io.MalformedInputException 2015-09-27

第一次使用websphere,遇到這個問題,首先想到的是文件編碼的問題,把專案的jsp和properties,xml等文件全部轉換成utf8格式,沒用 後來在仔細找找答案,出現了 這個問題産生的原因是IBM在JDK 1.4版本中爲了追求對io通道的高效率改變了JDK 1.3中對io通道中異常處理的策略.IBM JDK 1.4中對于io通道的異常處理更加嚴格,因此系統中會報上面的錯誤. 解決這一問題的辦法是不使用IBM JDK 1.4中默認的io通道,而使用nio通道.具體的做法如下: 1.打開管

java io 文件讀寫 網路UDP/TCP 2015-09-27

java io 文件讀寫 網路UDP/TCP
java io流 傳輸操作 字節流和字符流的區別:讀寫單位不同:字節流以字節(8bit)爲單位,字符流以字符爲單位,字符流就是 : 字節流+編碼表.處理對象不同:字節流能處理所有類型的數據(如圖片.avi等),而字符流只能處理字符類型的數據.純文本數據優先考慮字符流 別的 字節流常用    字節流:FileInputStream                 //字符流讀文件 ...

java IO 筆記 2015-09-27

java IO 筆記
所謂IO,也就是Input與Output的縮寫.在java中,IO涉及的範圍比較大,這裏主要討論針對文件內容的讀寫 其他知識點將放置後續章節(我想,文章太長了,誰都沒耐心翻到最後)   對于文件內容的操作主要分爲兩大類 分別是: 字符流 字節流 其中,字符流有兩個抽象類:Writer   Reader 其對應子類FileWriter和FileReader可實現文件的讀寫操作 B ...

我的IO筆記2 2015-09-27

我的IO筆記2
ByteArrayInputStream和ByteArrayOutputStream 之前所講解的程序中,輸出和輸入都是從文件中來得,當然,也可以將輸出的位置設置在記憶體之上,此時就要使用ByteArrayInputStream.ByteArrayOutputStream來完成輸入輸出功能了 ByteArrayInputStream的主要功能將內容輸入到記憶體之中 ByteAr ...

我的IO筆記 2015-09-27

我的IO筆記
在整個IO包了,唯一表示與文件本身有關的類就是File類.使用File類可以進行1創建或刪除文件等常用操作.要想使用File類.則首先要觀察File類的構造方法,此類的常用構造方法如下所示: public File(String pathname)  實例化File類的時候,必須設置好路徑 No. 方法或常量 類型 描述 1 public static final String ...

Linux IO子系統和文件系統讀寫流程 2015-09-27

Linux IO子系統和文件系統讀寫流程
我們所有分析的,是基于2.6.32及其後的內核.我們在Linux上總是要保存數據,數據要麽保存在文件系統裏(如ext3),要麽就保存在裸設備裏.我們在使用這些數據的時候都是通過文件這個抽象來訪問的,操作系統會把我們需要的數據提交給我們,而我們則無需和塊設備打交道.從下圖,我們可以清除的看到: I/O子系統是個層次很深的系統,數據請求從用戶空間最終到達磁盤,經過了複雜的數據流動. ...

使用HTML5,WebSockets,nodejs和socket.io構建及時遊戲 2015-09-27

想象一下在網路上玩遊戲只需要簡單地登錄,不需要本地安裝,不需要任何許可證,在浏覽器或者手機中的多人遊戲可以斷線重連--這基本上就是"雲遊戲"了.好吧,這聽起來挺俗套了,但是我們接下來就能見識到這些了,而且比我們想象的更好更快!    我們先列出一些概念,以建立真正有潛在意義的東西.我們想要做的是:發布常見的浏覽器上展現的遊戲 在不同浏覽器(桌面版或者移動版)上控制遊戲 管理控制器與遊戲之間的通知 確保不需要任何的安裝,即使作爲浏覽器插件 估計涉及到的延時 初始調查研究以及選擇    N

java.io.IOException: 您的主機中的軟件中止了一個已建立的連接。 2015-09-27

問題現象和描述的一樣,就是在eclipse的console欄中一直顯示java.io.IOException: 您的主機中的軟件中止了一個已建立錯誤.具體如下. [2 4 - ddmlib] 您的主機中的軟件中止了一個已建立的連接. java.io.IOException: 您的主機中的軟件中止了一個已建立的連接. at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDi

揭開重疊IO的神秘面紗 2015-09-27

0x00  --- 引言在Windows平台下對文件.外設.管道等IO操作都是通過WIN32的ReadFile.WriteRead函數進行的.最常用的就是直接讀取或寫入,完成後返回實際寫入.讀取的字節大小.//假設文件句柄hFile存在並有效 LPVOID readBuf[BUF_SIZE] = {0}; //讀取緩沖 DWORD  real_read = 0; //實際讀取的字節數 ReadFile(hFile,readBuf,READ_SIZE,&real_read,NULL);下文皆用&qu

HTTP Status 500 - Can not find a java.io.InputStre 2015-09-28

HTTP Status 500 - Can not find a java.io.InputStre
Struts2框架實現文件下載時,容易出現HTTP Status 500 - Can not find a java.io.InputStream with the name [download] in the invocation stack. Check the <param name="inputName"> tag specified f ...

Linux iostat監測IO狀態 2015-09-28

inux系統出現了效能問題,一般我們可以通過top.iostat.free.vmstat等命令來查看初步定位問題.其中iostat可以給我們提供豐富的IO狀態數據. 1. 基本使用 $iostat -d -k 1 10 其中參數 -d 表示顯示設備(磁盤)使用狀態: -k表示某些使用block爲單位的列強制使用Kilobytes爲單位: 1 10表示數據顯示每隔1秒刷新一次,共顯示10次. $iostat -d -k 1 10 Device:            tps    kB_read/
一周排行
  • Hibernate Tools
    Hibernate Tools是由JBoss推出的一個Eclipse綜合開發工具插件,該插 ...
  • 代碼:https://gist.github.com/3031209問題描述:   當一個類 mix-in 兩個 trait的時候    那麽這個類的實例去執行一個方法(這個方法兩個trait裏面都存在)那麽這個方法 ...
  • 今天用到oracle時間比較,看到網上也有很多,自己就總結了下啊. 1,比較兩個時間的大小(也可以是字符串表示時間)   select * from table where to_date(字段1,'yyyy-mm- ...
  • js裏沒有replaceall函數,因此需要用正則表示,關于回車換行的正則表示/\r\n|\n/g如:把時間替換成數字var beginTime=goodsBeginTime.replace(/ /g,'').rep ...
  • 我在js裏面寫了一個去除首尾空格及特定字符的函數.代碼如下:function trim(str, charlist) { return str.replace(new RegExp('^[\\s'+charlist+ ...
  • 看一個大男人是怎樣處理家庭矛盾的(絕對經典)(轉)這個故事寫出了在處理家庭矛盾中,LG發揮的巨大作用.那些嚷嚷著LP和LM有矛盾怎麽辦啊的男人好好看看吧. (特此注明轉貼) 我父親是從山東農村參軍的,對我奶奶非常孝順 ...
  • <?php // 參數解釋 // $string: 明文 或 密文 // $operation:DECODE表示解密,其它表示加密 // $key: 密匙 // $expiry:密文有效期 function a ...
  • 一直以來 都是超過 晚上12點睡覺, 有時候甚至1 -2 點睡覺, 第二天7點左右起床 . .  最近開始思考如何在不透支身體的前提下繼續更好的利用時間? 今天同事一語驚醒夢中人 ,. 我們知道,人體的排毒黃金時間是 ...
  • 大致看完這篇文章,感覺非常好,人家才四年C++,已經達到此水平,佩服.原文位于:http://www.artima.com/cppsource/cooperative_visitor.htmlThis article ...
  • 查看軟件xxx安裝內容dpkg -L xxx查找軟件庫中的軟件apt-cache search 正則表達式查找軟件庫中的軟件aptitude search 軟件包查找文件屬于哪個包dpkg -S filename查找 ...