Go to Previous Page Go to Contents Go to Java Page Go to Next Page
New Features of Java2 SDK, Standard Edition, v1.4
 
 

New I/O 導入編

 
 

New I/O ってなに?

 
 

さて、今回から J2SE, v1.4 の目玉の 1 つである New I/O について見ていきましょう。

ところで、なんで New にする必要があるのでしょう? java.io パッケージのクラスだけではだめなのでしょうか?

これを答えるには今までの Java の I/O に関する問題を考えることになります。

今まで問題になっていたのは、特にサーバー系のアプリケーションで顕著なのですが次のようなことがあげられます。

  • スケーラビリティ
  • パフォーマンス、特にファイルアクセスのパフォーマンス
  • 文字コードの扱い

また、欠けていた機能として

  • 正規表現

があります。

New I/O ではこれらを満たすことを目的にデザインされています。JavaOne 2001 では New I/O のゴールを次のように示していました。

  • Scalable network I/O
    • Thousands of open connections
  • High-Performance file I/O
    • On par with native languages
  • Pluggable charater sets
    • A longstanding deficiency
  • Regular expressions
    • Powerful pattern matching
  • Formatting and scanning (printf/scanf)
  • Improved filesystem interface

そこで、導入されたのが次のようなクラスやインタフェースが新たにクラスライブラリに加えられました。

追加されたクラス/インタフェース 説明
Buffer プリミティブに特化したサイズ固定のコンテナ
Channel I/O 処理を効率よく行うためのファイルやソケットなどへのコネクション
Selector 複数の選択可能な Channel を扱うマルチプレクサ
Charset, CharsetEncorder/CharsetDecoder 文字コード、および文字コードのエンコード/デコードを行うクラス
Patterns, Matcher 正規表現のパターン、およびパターンマッチングを行うクラス

ぜひ使ってみたいとは思うのですが、いかんせん公開されているドキュメントはほとんどありません。ユーザマニュアルやプログラミングマニュアルのようなドキュメントは 2001 年の 9 月の段階ではまだ公開されていません。

唯一あるのが JavaOne 2001 のセッション資料Java Community Process の JSR-51 で公開されているドキュメントだけです。JavaOne 2001 のセッション資料は PDF ファイルは参加者のみ公開されています。しかし、有料 ($29.95) なのですが、セッションのスクリプト (日本語もあります) を Java Learning Center で見る & 聞くことができます。

JSR-51 は現在 (2001 年 9 月時点)では Community Review になっており、JCP の会員でないと見ることができません。Public Review がもうすぐ始まるはずなので、それまではちょっとお預けです。

このようにドキュメントが少ない状況なので、なかなか使うのも大変で、試行錯誤を繰り返しています。というわけで、今回から何回かに分けて、New I/O について調べていくことにしましょう。

(Sep. 2001)

英語版 JavaWorld の New I/O に関する記事の翻訳が日本版 SDC の SunDevelopperNews にのっています。閲覧には登録が必要ですが、無料なのでぜひ参考にしてください。

Merlin の新しい入出力クラスをマスターしよう
http://sdc.sun.co.jp/cgi-bin/osform/sdcSession?page=individual/newsletter/2001/11/tech_java01.html

オリジナルはこちら
http://www.javaworld.com/javaworld/jw-09-2001/jw-0907-merlin.html

New I/O の概要ならば
http://developer.java.sun.com/developer/technicalArticles/releases/nio/

(補 Nov, 2001)

 
 
Go to Previous Page Go to Contents Go to Java Page Go to Next Page