网络知识整理

知识

1、Asynchronous I0:异步非阻塞的编程方式。服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是有OS先完成再通知服务器应去启动线程进行处理。

不同于NIO,当进行读写操作时,只需调用API的read与write方法。两种方法均为异步的(不一定能同时返回结果)。

当进行读或写操作时,将流写入缓冲区,操作系统返回信息给应用程序。

AIO适用于连接数目较多且连接比较长的操作。充分调用os处理并发。

2、Netty

提供异步的、事件驱动的网络应用程序框架和工具(建立在NIO/AIO基础上的工具),性能上没有损耗,需要JDK1.6以上版本。
netty是基于NIO的客户、服务器端编程框架,使用netty可以确保快速和简单的开发出一个网络应用。快速开发并不会产生维护或性能上的问题。
从4.XX版本开始,需要使用jdk1.6以上版本。
 从设计上:针对多种传输类型的统一接口,--阻塞及非阻塞;简单但更强大的线程模式,真正无连接的数据报套接字支持
从性能上:比核心javaAPI更好的吞吐量,较低的延时;资源消耗更小,得益于共享池和复用;减少内存拷贝
在安全上:完整的SSL、TLS和StartLS的支持
  
架构:Transpant Service,Protocol Support,core
原文地址:https://www.cnblogs.com/gloria-liu/p/9743541.html