Heim > Java > javaLernprogramm > Tutorial 1 zur Java NIO-Serie: Eine kurze Einführung in Java NIO

Tutorial 1 zur Java NIO-Serie: Eine kurze Einführung in Java NIO

php是最好的语言
Freigeben: 2018-07-30 10:39:47
Original
1906 Leute haben es durchsucht

Java NIO besteht aus den folgenden Kernteilen:

  • Kanäle

  • Puffer

  • Selektoren

Obwohl es in Java NIO viele andere Klassen und Komponenten gibt, bilden meiner Meinung nach Kanal, Puffer und Selektor die Kern-API. Andere Komponenten wie Pipe und FileLock sind lediglich Dienstprogrammklassen, die mit den drei Kernkomponenten verwendet werden. Daher werde ich mich in dieser Übersicht auf diese drei Komponenten konzentrieren. Andere Komponenten werden in separaten Kapiteln behandelt.

Kanal und Puffer

Grundsätzlich beginnen alle IOs von einem Kanal in NIO. Kanäle sind ein bisschen wie Streams. Daten können vom Kanal in den Puffer gelesen oder vom Puffer in den Kanal geschrieben werden. Hier ist eine Illustration:

Es gibt verschiedene Arten von Kanälen und Puffern. Im Folgenden sind die Implementierungen einiger wichtiger Kanäle in JAVA NIO aufgeführt:

  • FileChannel

  • DatagramChannel

  • SocketChannel

  • ServerSocketChannel

Wie Sie sehen können, decken diese Kanäle UDP- und TCP-Netzwerk-IO sowie Datei-IO ab.

Neben diesen Klassen gibt es einige interessante Schnittstellen, der Einfachheit halber habe ich jedoch versucht, sie in der Übersicht nicht zu erwähnen. Ich werde sie in anderen Kapiteln dieses Tutorials erläutern, sofern sie relevant sind.

Im Folgenden sind die wichtigsten Pufferimplementierungen in Java NIO aufgeführt:

  • ByteBuffer

  • CharBuffer

  • DoubleBuffer

  • FloatBuffer

  • IntBuffer

  • LongBuffer

  • ShortBuffer

Diese Puffer decken die grundlegenden Datentypen ab, die Sie über IO senden können: Byte, Short, Int, Long, Float, Double und Char.

Java NIO verfügt auch über einen MappedByteBuffer, der zur Darstellung von speicherzugeordneten Dateien verwendet wird. Ich werde ihn in der Übersicht nicht erklären.

Selektor

Selektor ermöglicht einem einzelnen Thread die Verarbeitung mehrerer Kanäle. Wenn Ihre Anwendung mehrere Verbindungen (Kanäle) öffnet, der Datenverkehr jeder Verbindung jedoch sehr gering ist, kann die Verwendung von Selector praktisch sein. Zum Beispiel in einem Chatserver.

Dies ist eine Darstellung der Verwendung eines Selectors zur Verarbeitung von 3 Kanälen in einem einzelnen Thread:

Um Selector verwenden zu können, müssen Sie sich bei Selector registrieren Channel und ruft dann seine Methode select() auf. Diese Methode blockiert, bis für einen registrierten Kanal ein Ereignis bereit ist. Sobald diese Methode zurückkehrt, kann der Thread diese Ereignisse verarbeiten. Beispiele für Ereignisse sind neu eingehende Verbindungen, Datenempfang usw.

Verwandte Artikel:

Tutorial 2 zur Java NIO-Serie: Java NIO-Kanal-ähnliche Streams

Java NIO Series Tutorial 3: Grundlegende Verwendung von Puffer

Verwandte Videos:

Illustration des JDK-Download-Prozesses – JAVA-Anfänger-Video-Tutorial

Das obige ist der detaillierte Inhalt vonTutorial 1 zur Java NIO-Serie: Eine kurze Einführung in Java NIO. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage