¿Qué es el marco NIO?
Características:
1. NIO compensa las deficiencias de la E/S original. Proporciona E/S de alta velocidad orientada a bloques en código Java estándar.
La mayor diferencia entre la biblioteca de entrada/salida de la policía y NIO es el método de empaquetado y transmisión de datos. Raw I/O procesa datos en flujos, mientras que NIO procesa datos en bloques.
2.NIO implementa el procesamiento de datos IO orientado a bloques basado en canales y buffers, y MINA es de código abierto.
Las aplicaciones JavaNIO sin bloqueo suelen ser adecuadas para lectura y escritura de E/S. Sabemos que el cuello de botella en el rendimiento del funcionamiento del sistema suele ser la lectura y escritura de E/S, incluidas las operaciones de puertos y archivos. Después de abrir un canal de E/S en el pasado, read() siempre esperaba para leer el contenido del byte del puerto. Si no entra contenido, read() será estúpido y afectará a nuestro programa para que siga haciendo otras cosas, así que la mejora es activarlo.
La tecnología sin bloqueo Java NIO en realidad utiliza el modo Reactor, o modo Observador, para monitorear el puerto de E/S por nosotros. Si entra algo, nos lo notificará automáticamente para que no tengamos que hacerlo. start multiple El hilo espera. Desde el exterior, logra una lectura y escritura de E/S fluidas y sin bloqueos.
La aparición de Java NIO no sólo supone una mejora en el rendimiento técnico, sino también su introducción en Internet, porque supone un hito. A partir de JDK1.4, Java comenzó a mejorar las funciones relacionadas con el rendimiento, lo que hizo que Java siguiera el ritmo de lenguajes como C o Perl en operaciones informáticas distribuidas paralelas o de bajo nivel.
Si todavía dudas del rendimiento de Java, significa que las ideas y conceptos están completamente desactualizados. En uno o dos años, se utilizarán nuevos términos para definir Java. A partir de JDK1.5, es necesario brindar soporte para nuevas funciones como subprocesos y concurrencia. La oportunidad para las aplicaciones Java en áreas de tiempo real como los juegos está madura. Después de consolidar su posición como middleware, Java comenzó a invadir el campo tradicional de C.
Principio:
NIO tiene un selector de clase principal, similar a un observador. Mientras les digamos a los selectores lo que necesitamos saber, haremos otra cosa. Si algo sale mal, nos notificará y enviará otro grupo de regreso. Vamos a leer estas claves y obtener lo que acabamos de registrar. Luego leeremos los datos de este canal y tendremos la seguridad de que el paquete podrá leerlos y luego podremos procesar los datos. El principio interno del selector es en realidad realizar una visita de sondeo al canal registrado y seguir sondeando (este es el único algoritmo actualmente). Una vez que se sondea el canal registrado, suceden algunas cosas. Por ejemplo, cuando lleguen los datos, se levantará e informará, entregándonos una clave que nos permitirá leer el contenido de este canal a través de esta clave. Hay dos direcciones de uso, una es el procesamiento con subprocesos y la otra es el procesamiento sin subprocesos. Este último es relativamente simple.