国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

調整JavaTM 的I/O性能(一)(zt)

2019-11-18 13:53:11
字體:
來源:轉載
供稿:網友

  調整javaTM 的I/O性能
這篇文章討論并舉例闡述了提高JavaTM I/O性能的多種技術。絕大多數技術是圍繞著磁盤文件I/O的調整來談 的,但是,有些技術對網絡I/O和視窗輸出也同樣適用。首先介紹的技術包含底層I/O問題,然后對諸如壓 縮、格式化和序列化這樣的高層I/O進行討論。但是,請注重,本討論不涉及應用設計問題, 搜索算法和數 據結構的選擇,也不討論類似文件高速緩存(file caching)這樣的系統級問題。


當討論Java I/O時,Java編程語言所假定的兩種不同的磁盤文件組織是沒有任何意義的。這兩種磁盤文件組 織,一種基于字節流,另一種基于字符序列。在 Java語言中,一個字符使用兩個字節表示,而不是象C語言 那樣使用一個字節表示一個字符。正因為如此,從文件中讀取字符時需要一些轉換。在某些情況下,這樣的 區別非常重要,我們將用幾個例子對此進行說明。


底層I/O問題
簡介
加速I/O的基本規則
緩沖
讀/寫文本文件
格式化的開銷
隨機存儲

高層I/O問題
壓縮
高速緩存
標志化(Tokenization)
序列化(Serialization)
獲取文件信息
更多的信息
加速I/O的基本規則


作為開始討論的一種方法,下面列出了加速I/O的一些基本規則:


1.避免訪問磁盤

2.避免訪問下面的操作系統

3.避免方法調用

4.避免對字節和字符的單獨處理


顯然,這些規則不能被全面而嚴格地應用,因為假如那樣的話,I/O就不可能工作了。但是,為了查看規則是 如何被應用的,就考慮下面的三個例子,這些例子計算一個文件中換行符('/n')的數目。


方法一:讀取的方法


第一個方法簡單地利用一個文件輸入流(FileInputStream)上的讀方法:


      import java.io.*;



      public class intro1 {

          public static void main(String args[]) {

              if (args.length != 1) {

                 System.err.PRintln("missing filename");

                 System.exit(1);

              }

              try {

                  FileInputStream fis =

                      new FileInputStream(args[0]);

                  int cnt = 0;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐山县| 娄底市| 龙南县| 松江区| 晋州市| 通道| 沧州市| 静乐县| 曲麻莱县| 两当县| 祁连县| 额尔古纳市| 安溪县| 高台县| 公安县| 阿图什市| 昭平县| 新密市| 绍兴县| 新津县| 镇原县| 梁山县| 泸州市| 黄梅县| 晋宁县| 花莲县| 淮阳县| 姚安县| 齐河县| 洪雅县| 武夷山市| 明水县| 苗栗市| 武城县| 通辽市| 屯留县| 海盐县| 晋中市| 荃湾区| 宁阳县| 灵宝市|