専門家に聞く - I/O

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-13 12:03:02213ブラウズ

Pergunte ao especialista - I/O

NIO と呼ばれる別の I/O パッケージについて聞きました。それについて教えていただけますか?

元々 New I/O と呼ばれていた NIO パッケージは、JDK 1.4 によって Java に追加されました。チャネルベースの I/O 操作アプローチをサポートします。 NIO クラスは、java.nio パッケージとその下位パッケージ (java.nio.channels や java.nio.charset など) にあります。
NIO は、バッファーとチャネルという 2 つの基本項目に基づいています。バッファーはデータを保管し、チャネルはファイルやソケットなどの I/O デバイスへのオープン接続を表します。一般に、新しい I/O システムを使用するには、I/O デバイスとデータを保存するバッファーを備えたチャネルを取得する必要があります。次に、バッファを操作して、必要に応じてデータを挿入または表示します。
NIO で使用される他の 2 つのエンティティは、文字セットと
です。 セレクター。文字セットは、バイトを文字にマップする方法を定義します。エンコーダーを使用して、一連の文字をバイト形式でエンコードできます。また、デコーダを使用して、一連のバイトを文字形式にデコードできます。セレクターは、キーベース、ノンブロッキング、多重化 I/O をサポートします。言い換えれば、セレクターを使用すると、複数のチャネルにわたって I/O を実行できるようになります。これらは、ソケットベースのチャネルに最も適しています。
JDK 7 以降、NIO は大幅な改良を加えられ、NIO という用語が使用されるようになりました。 2がよく使われます。改善には 3 つの新しいパッケージ (java.nio.file、java.nio.file.attribute、および java.nio.file.spi) が含まれています。いくつかの新しいクラス、インターフェイス、メソッド。ストリームベースの I/O の直接サポート。この追加により、NIO の使用方法、特にファイルの使用方法が拡張されました。
NIO は、この章で説明する java.io にある I/O クラスを置き換えるものではないことを理解することが重要です。代わりに、NIO クラスは標準 I/O システムを補完するように設計されており、状況によっては有益な代替アプローチを提供します。

以上が専門家に聞く - I/Oの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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