1. バッファ
	New I/O 1章 バッファ
	  	
- 1.1. New I/O の概要
- 1.2. バッファ
- 1.3. バッファの作成方法
- 1.4. バッファの位置プロパティ
- 1.5. バッファの読み書き
- 1.6. ダイレクトバッファ
- 1.7. MappedByteBuffer
- 1.8. メモリ領域の割り当て
1.1. New I/O の概要
New I/O(NIO)APIはJDK1.4で追加された機能です。NIOには、java.ioパッケージの入出力機能を補足するいくつかの機能が用意されています。
NIOの主な構成要素は次の通りです。
| パッケージ | 説明 | 
| java.nio | NIO全体で使用される「バッファ」クラス | 
| java.nio.channels | 「チャネル」「セレクタ」クラス | 
| java.nio.channels.spi | 「チャネル」のサービスプロバイダクラス | 
| java.nio.charset | 「キャラクタセット」に関するクラス | 
| java.nio.charset.spi | 「キャラクタセット」のサービスプロバイダクラス | 
| java.util.regex | 「正規表現」に関するクラス | 
1.2. バッファ
バッファ(Buffer)は、プリミティブ型のデータを保存するための入れ物です。バッファクラスは、boolean型以外のすべてのプリミティブ型に対して用意されています。
| クラス | 説明 | 
| ByteBuffer | byte型用のバッファクラス | 
| CharBuffer | char型用のバッファクラス | 
| ShortBuffer | short型用のバッファクラス | 
| IntBuffer | int型用のバッファクラス | 
| LongBuffer | long型用のバッファクラス | 
| FloatBuffer | float型用のバッファクラス | 
| DoubleBuffer | double型用のバッファクラス | 
これらのクラスはすべてjava.nioパッケージに属しており、java.nio.Bufferクラスを継承しています。クラス間の関係は次の図のようになります。

MappedByteBufferについては後で説明します。

![Webアプリ開発エンジニアのための技術情報サイト[テックスコア]](/common/img/description.gif) 
 







