麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java技巧:使用緩沖IO提高性能

2019-11-18 13:28:11
字體:
供稿:網(wǎng)友

  java 輸入/輸出(IO)的性能可以使用標(biāo)準(zhǔn)的緩沖類提升,就像操作系統(tǒng)通過緩沖請求提高它的速度一樣。例如,假如一段代碼要求從磁盤上讀取數(shù)據(jù),它會試圖讀取內(nèi)存中已有的數(shù)據(jù);假如代碼希望向磁盤寫一些東西,它可能在完成寫操作前將輸出在內(nèi)存中存放一段時間以等待更多的數(shù)據(jù)。
  
  在Java的IO系統(tǒng)中,將一個字符寫入內(nèi)存比寫到磁盤上快得多,例如:
  
  // 這段代碼會拋出 IOException
  Writer writer = new FileWriter( new File( "file.txt" ) );
  for(int i=0; i<1000; i++) {
  writer.write(""+i);
  writer.write("/n");
  }
  writer.close( );
  
  在這個范例代碼中,F(xiàn)ileWriter一次輸出一個數(shù)字,在Apple Powerbook
  上測量消耗的時間,第一次是180毫秒,以后是90毫秒,這個不同可能是JVM的即時(just-in-time)編譯導(dǎo)致的。
  
  給這段代碼添加緩沖功能就是在FileWriter上創(chuàng)建一個BufferedWriter對象。
  
  //這段代碼會拋出IOException
  
  Writer writer = new BufferedWriter(new FileWriter(
  new File( "file.txt" )
  ) );
  for(int i=0; i<1000; i++) {
  writer.write(""+i);
  writer.write("/n");
  }
  writer.close( );
  現(xiàn)在BufferedWriter會決定以什么頻率向FileWriter發(fā)送寫調(diào)用。可以使用flush( )方法強制發(fā)出寫調(diào)用。增加了BufferedWriter后,代碼的運行時間是63毫秒。假如是有很多小量的輸出,那么BufferedWriter在缺省條件下的性能提升是非常顯著的。
  
  除了BufferedWriter外,BufferedOutputStream也具有相同的品質(zhì),對于輸入就是BufferedReader和BufferedInputStream。
  
  需要注重的是緩沖類不光是在文件系統(tǒng)上起作用,任何的Reader/Writer都能進行緩沖以提高字符輸入/輸出的速度,同樣任何OutputStream/InputStream都能進行緩沖以提高字節(jié)IO的速度。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 视频一区二区在线观看 | a视频在线看 | 91成人午夜性a一级毛片 | 精品一区二区久久久久久久网精 | av不卡免费在线观看 | 国产亚洲精品综合一区91 | 成人三级电影网站 | 中国漂亮护士一级a毛片 | 91久久精品国产亚洲 | 免费国产不卡午夜福在线 | 一级爱片 | 内地av在线 | 欧美一级淫片a免费播放口 91九色蝌蚪国产 | 北京一级毛片 | 精品人成| 久久久www成人免费精品 | 成人午夜在线观看视频 | 亚洲视频在线一区二区 | 色七七亚洲| 国产精品久久久麻豆 | 欧美日韩电影在线 | 深夜网站在线观看 | 亚洲精品wwww | 亚洲欧美一区二区三区在线观看 | 欧美va亚洲 | 特级无码毛片免费视频尤物 | 中文字幕精品在线播放 | 毛片免费在线播放 | 全网免费毛片 | 在线91视频| 国产美女视频黄a视频免费 日韩黄色在线播放 | 一区二区三区在线播放视频 | 女人解衣喂奶电影 | 日韩一级片毛片 | 88xx成人永久免费观看 | 亚洲第一成人在线视频 | a黄色网 | 91九色论坛 | 久久国产亚洲视频 | 中文字幕www. | 国产一区二区久久精品 |