Maison >Java >javaDidacticiel >Qu'est-ce que NIO en Java
Java fournit un deuxième système d'E/S appelé NIO (New I/O NIO fournit des E/S différentes du traitement des E/S standard. méthode. Il s'agit du remplacement par Java de l'API d'E/S traditionnelle (depuis Java 1.4). (Apprentissage recommandé : Cours Java )
Il prend en charge la méthode de fonctionnement des E/S du coussin, la méthode de fonctionnement des E/S basée sur le canal. Avec l'introduction du JDK 7, le système NIO a été étendu pour fournir une prise en charge améliorée des fonctions du système de fichiers et de la gestion des fichiers. En raison de ces nouvelles fonctionnalités prises en charge par la classe de fichiers NIO, NIO est largement utilisé dans le traitement de fichiers.
NIO permet des E/S à haut débit pour les programmeurs Java sans utiliser de code natif personnalisé. NIO déplace l'activité d'E/S temporelle de remplissage, de vidange des tampons, etc. vers le système d'exploitation, accélérant considérablement les opérations.Les composants de base de Java NIO sont les suivants :
Canaux et tampons : dans l'API d'E/S standard, en utilisant flux de caractères et flux d’octets. Dans NIO, des canaux et des tampons sont utilisés. Les données sont toujours écrites sur le canal à partir du tampon et lues du canal vers le tampon. Sélecteurs : Java NIO fournit le concept de "sélecteurs". Il s'agit d'un objet qui peut être utilisé pour surveiller plusieurs canaux, tels que les données arrivant, les connexions ouvertes, etc. Par conséquent, un seul thread peut surveiller les données de plusieurs canaux. E/S non bloquantes (E/S non bloquantes) : Java NIO fournit une fonctionnalité d'E/S non bloquante. Cette application renvoie immédiatement toutes les données disponibles. L'application doit disposer d'un mécanisme de pooling pour savoir si davantage de données sont prêtes.Jetons un coup d'œil aux interfaces d'application et de système d'exploitation des E/S non bloquantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!