モジュール java.base
パッケージ java.nio

クラスMappedByteBuffer

java.lang.Object
java.nio.Buffer
java.nio.ByteBuffer
java.nio.MappedByteBuffer
すべての実装されたインタフェース:
Comparable<ByteBuffer>

public abstract sealed class MappedByteBuffer extends ByteBuffer
ファイルのメモリー・マップ領域を内容とするダイレクトbyteバッファです。

マップされたbyteバッファは、FileChannel.mapメソッドで作成されます。 このクラスは、メモリー・マップされたファイル領域に特有の操作を使用してByteBufferクラスを拡張します。

マップされたbyteバッファと、これによって表されるファイル・マッピングは、バッファ自体がガベージ・コレクトされるまで有効です。

たとえば、何らかのプログラムによって、マップされたファイルの対応する領域の内容が変更されれば、マップされたbyteバッファの内容も変更されます。 こうした変更が発生するかどうか、またどのタイミングで発生するかは、オペレーティング・システムによって異なるため、未指定です。

マップされたbyteバッファ全体またはその一部にアクセスできなくなることがあります。たとえば、マップされたファイルの切詰めが行われると、このような事態が発生します。 マップされたbyteバッファのアクセス不可な領域にアクセスしようとしても、バッファの内容は変更されませんが、アクセスしたときまたはそのあとで未指定の例外がスローされます。 事前に適切な予防措置をとり、このプログラムや並行して実行されているプログラムから、マップされたファイルに対して読み込みと書込み以外の操作を実行できないようにすることを強くお薦めします。

それ以外の点では、マップされたbyteバッファは通常のダイレクトbyteバッファと同じように動作します。

導入されたバージョン:
1.4