100 likes | 286 Views
Spezielle Packages des Java SDK (1.4). java.nio. java.nio. N ew I / O Was ist neu an java.nio????. java.nio. NIO ersetzt herkömmliche I/O Mechanismen nicht , sondern erweitert sie nur sinnvoll I/O soll weiterhin parallel existieren. java.nio. Bestandteile von NIO Buffer Charsets
E N D
java.nio New I/O Was ist neu an java.nio????
java.nio • NIO ersetzt herkömmliche I/O Mechanismen nicht, sondern erweitert sie nur sinnvoll • I/O soll weiterhin parallel existieren
java.nio Bestandteile von NIO • Buffer • Charsets • Channels • Selectors
java.nio Buffer:(java.nio) • Container zum Schreiben und Lesen von Daten • speicherplatzfreundlich • Buffer-Klasse für jeden nicht booleschen primitiven Typ • ByteBuffer kann direkten Speicher anlegen VM verwaltet Speicherbereich direkt über Funktionen des Betriebssystem enorme Geschwindigkeit
java.nio Charsets:(java.nio.charset) • Abbildung und Umwandlung von Bytes in Unicode - und umgekehrt.
java.nio Channels: (java.nio.channels) • definieren bidirektionalen Kommunikationskanal zu I/O-Entitäten wie Sockets und Dateien. • Schreiben und lesen aus ByteBuffer • gelesene Bytes in einem Schritt in mehrere Buffer transferieren • aus mehreren Buffern in ein Channel schreiben • Umwandlung von Streams in Channels und umgekehrt durch Wrapper-Methoden
java.nio Selectors: (java.nio.channels) • erlauben Multiplexing und nicht-blockierende I/O. ein einziger Thread kann viele Verbindungen managen, ohne dabei den Schwierigkeitsgrad wegen parallel laufenden Threads zu erhöhen
java.nio Vorteile: • Flexibilität im Umgang mit Netz- und Dateizugriffen • Höhere Skalierbarkeit und stark verbesserte Performance
java.nio Nachteile: • Verlust der Übersichtlichkeit durch sich teils überschneidenden Funktionen • Nicht geeignet für • Kleine, einfache I/O-Programme • Buffer und Channel-Benutzung in einfachen Anwendungen