Výukový program Java NIO
The New Input/Output (NIO ) byl představen s Java Development Kit (kódové označení JDK 1.4 Merlin). ) v únoru 2002. Jeho cílem bylo vyřešit mnoho nedostatků původních standardních tříd Java I/O. V tomto tutoriálu probereme mnoho aspektů knihovny NIO.
Účel našich výukových programů Java NIO
Níže jsou uvedeny některé zaměření naší série výukových programů Java NIO:
- Snadný způsob, jak začít s Java NIO
- Použití asynchronního / neblokujícího Java NIO
- Implementace vysoce výkonného I/O kódu pomocí balíčku Java NIO
- Snadný způsob, jak používat a implementovat Java NIO
Účel NIO
Java NIO Library nabízí vysoce výkonné funkce a funkce pro zpracování I/O operací. Tato knihovna to podporuje přímým propojením s nativními kanály, přímými vyrovnávací paměti a prostřednictvím rozšířené podpory soketů pomocí selektorů. Pomocí knihovny NIO jsou programátoři schopni implementovat vysokorychlostní I/O řešení, aniž by museli psát nativní kód (JNI). Navíc poskytuje vývoj neblokujících I/O operací
Rozdíly mezi NIO a tradičním Java I/O
Tradiční Java I/O API se zaměřuje na I/O streamy charakterizované (Byte Streams , Proudy postav ,Streamy s vyrovnávací pamětí ,Datové streamy a Proudy objektů ). V streamově orientovaném systému se data posouvají po jednom bajtu přes objekt nazývaný proud a používají se k reprezentaci vstupního nebo výstupního zdroje. Streamy podporují mnoho různých druhů dat včetně jednoduchých bajtů, primitivních datových typů, znakových datových typů využívajících konvence unicode a objektových typů ze serializovatelných objektů.
NIO naopak pracuje s daty v blocích prostřednictvím objektu zvaného Buffer. Každá z těchto operací vytváří nebo spotřebovává blok dat v jediném kroku. NIO zlepšuje výkon delegováním časově nejnáročnějších I/O operací (hlavně plnění a vyprazdňování vyrovnávacích pamětí) zpět na operační systém, což vede ke zvýšení rychlosti.
NIO Buffery
Vyrovnávací paměti jsou základním kamenem, na kterém jsou postaveny operace NIO. V podstatě všechny operace, které zahrnují NIO, používají vyrovnávací paměti jako pracovní oblast pro přenos dat dovnitř a ven ze zdroje dat do/z cíle. V knihovně NIO data putují do vyrovnávacích pamětí az vyrovnávacích pamětí na běžné bázi. Kdykoli zapisujete data, zapisujete data do vyrovnávací paměti a když čtete data, čtete z vyrovnávací paměti. Vyrovnávací paměti komunikují přímo s kanály NIO.
Kanály NIO
Kanály jsou podobné streamům v tradičním Java I/O API s tou výjimkou, že mohou poskytovat tři režimy:vstupní, výstupní nebo obousměrný. Na druhé straně toky, kde jsou jednosměrné (použili jste buď InputStream, nebo OutputStream). Kanály interagují přímo s vyrovnávacími pamětmi a nativním IO zdrojem, tj. souborem nebo soketem.
Selektory NIO
Selektor umožňuje multiplexování kanálů NIO. Selektory poskytují uživateli možnost pracovat s více kanály a poskytují výběr připravenosti kanálu.
Jak to všechno funguje, podrobně vysvětlíme v této sérii tutoriálů.
Výukové programy související s Java NIO
- Výukový program Java NIO
V této sérii výukových programů diskutujeme o nových funkcích Java NIO. - Java NIO Buffery
Tento příspěvek se podrobněji zabývá vyrovnávacími pamětmi NIO a poskytuje praktické příklady použití vyrovnávacích pamětí v aplikacích v reálném světě. - Kanály Java NIO
Tento příspěvek se podrobněji zabývá kanály NIO a poskytuje příklady síťových připojení a Java I/O ve vztahu k souborům. - Selektory Java NIO
V tomto tutoriálu se naučíme, jak používat třídu Selector z knihovny balíčků java.io.channels k sestavení vysoce výkonného I/O klient-server pomocí NIO. - Kanál souborů Java NIO
V tomto tutoriálu se naučíme používat třídu FileChannel z knihovny balíčků java.io.channels a poskytneme pracovní příklady všech hlavních metod. - Java NIO Socket Channel
V tomto tutoriálu se naučíme, jak používat SocketChannel a jak se používá pro čtení/zápis streamově orientovaných dat a používání protokolu založeného na připojení TCP. - Výukový program Java NIO DatagramChannel
V tomto tutoriálu se naučíme, jak pomocí DatagramChannel umožnit vývojářům vytvářet vysoce výkonné aplikace pro streamování dat, které odesílají a přijímají datagramy pomocí protokolu zvaného UDP. - Výukový program cesty Java NIO a NIO2
Tento tutoriál představí rozhraní Path a mnoho jeho metod. Rozhraní Path bylo zpřístupněno jako součást vydání Java SE 7 v Java NIO 2 File API.