ホームページ  >  記事  >  Java  >  Java NIO シリーズ チュートリアル 1: Java NIO の簡単な紹介

Java NIO シリーズ チュートリアル 1: Java NIO の簡単な紹介

php是最好的语言
php是最好的语言オリジナル
2018-07-30 10:39:471798ブラウズ

Java NIO は次のコア部分で構成されています:

  • Channels

  • Buffers

  • Selectors

Java NIO には多くのクラスとコンポーネントがあると思いますが、私の意見では、Channel、Buffer です。と Selector がコア API を構成します。 Pipe や FileLock などの他のコンポーネントは、3 つのコア コンポーネントで使用される単なるユーティリティ クラスです。したがって、この概要ではこれら 3 つのコンポーネントに焦点を当てます。他のコンポーネントについては、別の章で説明します。

チャネルとバッファ

基本的に、すべての IO は NIO のチャネルから始まります。チャンネルはストリームに似ています。 データはチャネルからバッファに読み取ることも、バッファからチャネルに書き込むこともできます。以下にその例を示します:

チャネルとバッファにはいくつかの種類があります。 JAVA NIO の主なチャネル実装は次のとおりです。チャネルは UDP および TCP ネットワーク IO、およびファイルをカバーしますIO。

    これらのクラスに加えて、いくつかの興味深いインターフェイスがありますが、簡単にするために、概要では言及しないようにしました。これらについては、このチュートリアルの関連する他の章で説明します。
  • Java NIO の主要な Buffer 実装は次のとおりです:

  • ByteBuffer

  • CharBuffer

  • DoubleBuffer

FloatBuffer

IntBえー

  • LongBuffer

  • ShortBuffer

  • これらのバッファは、IO を通じて送信できる基本的なデータ型 (byte、short、int、long、float、double、char) をカバーします。

  • Java NIO には、メモリ マップされたファイルを表すために使用される MappedByteBuffer もあります。概要では説明しません。
  • Selector

  • Selector を使用すると、単一のスレッドで複数のチャネルを処理できます。アプリケーションが複数の接続 (チャネル) を開いているものの、各接続のトラフィックが非常に低い場合は、Selector を使用すると便利です。たとえば、チャット サーバー内です。
  • これは、セレクターを使用して 3 つのチャネルを 1 つのスレッドで処理する例です:

  • セレクターを使用するには、セレクターにチャネルを登録し、その select() メソッドを呼び出す必要があります。このメソッドは、登録されたチャネルでイベントの準備ができるまでブロックされます。このメソッドが返されると、スレッドはこれらのイベントを処理できるようになります。イベントの例には、新しい接続の受信、データの受信などが含まれます。
  • 関連記事:

Java NIO シリーズ チュートリアル 2: Java NIO のチャネルのようなストリーム

Java NIO シリーズ チュートリアル 3: バッファーの基本的な使用法

関連ビデオ:

JDK ダウンロード プロセスの図 - JAVA 初級入門ビデオ チュートリアル

以上がJava NIO シリーズ チュートリアル 1: Java NIO の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。