既然你能看到这,说明你有一定的Java基础了,不然咋面试呢?
同步&异步, 阻塞&非阻塞 基本了解
- 同步(阻塞): 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。
- 异步(非阻塞): 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果
BIO: (Blocking I/O) - 阻塞IO
也叫传统IO
1) 先将文件内容从磁盘中拷贝到操作系统buffer
2) 再从操作系统buffer 拷贝到 程序应用(应用层)buffer
3) 从程序buffer拷贝到socket buffer
4) 从socket buffer拷贝到协议引擎.
传统IO慢的原因是因为,数据捣腾过好几遍,才走到socket中
NIO (New I/O) - 非阻塞IO
nio 是New IO 的简称,在jdk1.4 里提供的新api 。Sun 官方标榜的特性