|
NIO API:
|
New I/O API |
このドキュメントでは、J2SE v 1.4 の RC リリースの NIO API が、Beta 3 リリースと比べてどのように変更されたかについて説明します。 次の分野ごとに変更点の概略を示します。バッファ
型指定バッファクラス (
ByteBuffer、CharBufferなど) が、Comparableインタフェースを実装するように改訂された。 これらのクラスには、必要なcompareToメソッドが定義されている非ダイレクトヒープバッファの基になる配列にアクセスできないように型指定バッファクラスが改訂された。 そのようなバッファの
hasArrayメソッドを呼び出すと常に false が返される。 そのようなバッファのarrayメソッドまたはarrayOffsetメソッドを呼び出すと、ReadOnlyBufferExceptionがスローされるチャネル (一般)
Channelインタフェースが改訂され、非同期クローズと割り込みの機能が新しいインタフェースInterruptibleChannelに移された。SPI クラス AbstractChannel の名前がAbstractInterruptibleChannelに変更され、このクラスは、InterruptibleChannelを実装するように改訂された。 これらの変更の結果として、すべての public チャネルクラスが新しいインタフェースを実装するようになった。また、Channels.newChannelなどのメソッドは、読み取りおよび書き込み可能なチャネルを返すことができるが、それらのチャネルが割り込み可能とは限らない
Pipe.SourceChannelクラスが、ScatteringByteChannelインタフェースを実装するように改訂され、Pipe.SinkChannelクラスが、GatheringByteChannelインタフェースを実装するように改訂された
GatheringByteChannelインタフェースのreadメソッドとScatteringByteChannelインタフェースのwriteメソッドが、int型ではなくlong型のバイトカウントを返すように改訂された。 これに対応して、DatagramChannel、FileChannel、およびSocketChannelクラスも変更されたファイルチャネル
transferToメソッドとtransferFromメソッドが、int 型ではなく long 型のcountパラメータを取り、int 型ではなく long 型のバイトカウントを返すように改訂された。そのため、これらのメソッドを使用して大きなファイルを転送できるようになった。 一貫性を維持するために、mapメソッドの size パラメータが、int 型から long 型に改訂されたその他
ここで説明する変更点は、1.4 RC リリースで加えられましたが、1.4 FCS リリースまでこのドキュメントに記載されなかったものです。 詳細については、「JSR-51 Change Log」を参照してください。
- CharsetProvider コンストラクタにセキュリティチェックが追加された。 新しい実行時セキュリティアクセス権 charsetProvider が定義され、セキュリティマネージャがアクセス権を拒否した場合に
SecurityExceptionをスローするようにCharsetProvider コンストラクタが改訂された
- 安全性に欠ける CharsetProvider の putCharsets メソッドが、
charsetsという名前の新しいメソッドに置き換えられた。 この新しいメソッドは、プロバイダによってサポートされている文字セット用の反復子を作成する
- SelectorProvider コンストラクタにセキュリティチェックが追加された
- SelectorProvider の setProvider メソッドが削除された。 信頼されたコードは、コマンド行でシステムプロパティを設定するかまたはプロバイダをサービスとして使用できるようにすることによって、引き続きシステム全体のデフォルトとして独自のセレクタプロバイダを宣言できる。 provider メソッドの仕様では、ルックアップアルゴリズムについて詳細に説明している
- CodingErrorAction 内に定義された
public staticフィールドは、finalになる
|
Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved. コメントの送付先: java-io@java.sun.com |
Java ソフトウェア |