1. Java IO と NIO の最初の違いは、IO がストリーム指向であるのに対し、NIO はバッファ指向であることです。
Java IO はストリーム指向です。つまり、一度に 1 バイト以上をストリームから読み取ることができます。ストリームから何バイト読み取るかは完全にプログラマ次第です。これらのバイトをどこにもキャッシュすることはできません。つまり、データをストリームから前後に移動することはできません。本当にデータを移動する必要がある場合は、まずデータをバッファにキャッシュする必要があります。
Java NIO では、バッファーの見方が少し異なります。データがバッファに読み込まれると、バッファは後で処理されます。必要に応じてバッファ内でデータを移動できるため、プログラマはより柔軟に処理できます。ただし、処理する必要のあるすべてのデータがバッファに含まれていることを確認する必要があります。さらに、読み取りデータがバッファに到着したときに、未処理のデータを上書きできないようにする必要があります。
ブロッキング IO とノンブロッキング IO
2. Java IO のさまざまなストリームがブロックされます。Java NIO は、スレッドが必要とすることを保証するノンブロッキング モードです。チャネルから読み取り、データを取得します。
Java IO のさまざまなストリームがブロックされます。つまり、read() メソッドと write() メソッドが呼び出されるとき、データが読み取られるか完全に書き込まれるまで、スレッドはブロックされます。この間、ストリームを処理するスレッドは完了できません。
Java NIO ノンブロッキング モードでは、スレッドがチャネルからのデータの読み取りを要求します。それまでチャネルは使用できません。この時点でデータが利用できない場合は、何も行われません。データが読み取れるまでブロックを保持する代わりに、ここではスレッドは他のことを行うことができます。
Java の基本データ型は次のように分類されます:
1. 整数型。整数のデータ型を表すために使用されます。
2. 浮動小数点型、小数を表すために使用されるデータ型。
3. 文字型. 文字型のキーワードは「char」です。
4. ブール型は、論理値を表す基本的なデータ型です。
以上がJavaのioとnioの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。