ホームページ  >  記事  >  Java  >  Javaのioとnioの違いは何ですか

Javaのioとnioの違いは何ですか

PHPz
PHPz転載
2023-05-13 15:04:062667ブラウズ

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 の基本データ型とは

Java の基本データ型は次のように分類されます:

1. 整数型。整数のデータ型を表すために使用されます。

2. 浮動小数点型、小数を表すために使用されるデータ型。

3. 文字型. 文字型のキーワードは「char」です。

4. ブール型は、論理値を表す基本的なデータ型です。

以上がJavaのioとnioの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。