NIO-概要
ディレクトリ
序文
ネッティーは学びたいと思ったが、ネッティーはそうネッティー学習、または何NIOの知識を整理する前に、NIOフレームワークです。解析することで、ソースコードを NIOの設計原理を理解します。
NIOとは何ですか
NIOは、I / Oまたは新しいI / Oを非ブロックと呼ばれる; O新しい標準ライブラリ。
約I / Oアクセス方法およびI / Oモデル「高性能ネットワーク通信の原則」を見つけるために。
JavaのNIOは、元のブロッキングI / Oの不足を補うために、Java 1.4バージョン、NIOに追加された新機能です。
NIOは、チャネル、バッファセレクタ3つのコア・コンポーネントを導入します。読み取りと書き込みのファイル、3つのコンポーネントを介してネットワーク。
チャンネル
チャネルは、元のI / Oパケットストリームのアナログです。デバイスを持つすべてのデータ交換ファイルには、Channelオブジェクトを渡す必要があり
、そのような読み取りと書き込みファイルとしてストリームを作成する必要があるFileChannel
オブジェクトを、およびネットワークストリームの読み取りと書き込み、あなたは作成する必要があるSocketChannel
オブジェクトを。
バッファ
伝統的なIOのAPIは、NIO、バッファチャンネルやデータの相互作用でのバイト指向のストリーム、導入バッファ(バッファ)です。私たちは、バッファからデータを読み込み、書き込み。
セレクタ
各ネットワーク接続のためのI / Oをブロック従来は、ネットワーク・フローを読み書きするスレッドを必要とする、パフォーマンスのボトルネックを同時スレッドコンテキストスイッチングの量の大幅な増加を生じさせるであろう。NIOとのスレッドが複数のスレッドによって読み取りおよび書き込み操作の少量を行い、着信クライアント接続に使用することができます。これは、大幅にパフォーマンスを向上させるために、スレッドの数を減らします。どのI / Oセレクタによって知らさは準備ができて、私たちはデカップリング、他のモジュールに影響を与えずに、別のセレクタによって異なるポリシーを実装することができます。
他の
パイプライン
NIOは、単一の通信パイプ(管)を導入することによって達成しました
FileLock
NIOのファイルロックは排他的または共有ファイルを実現することができます。
参考資料
マイクロチャネルはJiege注意サブスクリプション番号共有の二次元コード技術スイープ
出典:https://www.cnblogs.com/Jack-Blog/p/11991240.html
著者:Jiege忙しい
としては、「4.0 BY CC」、クリエイティブ・コモンズ、本明細書中で使用されます合意。転載へようこそ、目立つ場所に、ソースとのリンクを明記してください。