1. Der erste Unterschied zwischen Java IO und NIO besteht darin, dass IO streamorientiert und NIO pufferorientiert ist.
Java IO ist Stream-orientiert, was bedeutet, dass ein oder mehrere Bytes gleichzeitig aus dem Stream gelesen werden können. Wie viele Bytes aus dem Stream gelesen werden, liegt ganz beim Programmierer. Diese Bytes können nirgendwo zwischengespeichert werden; das heißt, Sie können keine Daten aus dem Stream vorwärts oder rückwärts verschieben. Wenn Sie wirklich Daten verschieben müssen, müssen Sie die Daten zunächst in einem Puffer zwischenspeichern.
Java NIO betrachtet Buffer etwas anders. Wenn Daten in den Puffer eingelesen werden, wird der Puffer später verarbeitet. Bei Bedarf können Sie Daten im Puffer verschieben; dies gibt dem Programmierer mehr Flexibilität bei der Verarbeitung. Sie müssen jedoch überprüfen, ob der Puffer alle Daten enthält, die Sie verarbeiten müssen. Darüber hinaus müssen Sie sicherstellen, dass Sie beim Eintreffen gelesener Daten im Puffer keine unverarbeiteten Daten überschreiben können.
Blockierendes und nicht blockierendes IO
2. Verschiedene Streams in Java IO sind ein nicht blockierender Modus, um sicherzustellen, dass Threads Daten aus dem Kanal lesen müssen.
Verschiedene Streams in Java IO sind blockiert. Das heißt, wenn die Methoden read() und write() aufgerufen werden, wird der Thread blockiert, bis die Daten gelesen oder vollständig geschrieben werden. Während dieser Zeit kann der Thread, der den Stream verarbeitet, nicht abgeschlossen werden.
Der nicht blockierende Java NIO-Modus stellt sicher, dass der Thread bis dahin keine Daten vom Kanal lesen kann. Wenn zu diesem Zeitpunkt keine Daten verfügbar sind, wird nichts unternommen. Anstatt den Block zu halten, bis die Daten gelesen werden können, kann der Thread hier andere Dinge tun.
Die grundlegenden Datentypen von Java sind unterteilt in:
1.
2. Gleitkommatyp, ein Datentyp, der zur Darstellung von Dezimalzahlen verwendet wird.
3. Das Schlüsselwort des Zeichentyps ist „char“.
4. Der boolesche Typ ist der grundlegende Datentyp, der logische Werte darstellt.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen io und nio in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!