招行保险,三星电脑官方网站,i幈綻u
既然你能看到这,阐明你有肯定的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 官方标榜的特征如下: 为所有的原始类型供应(Buffer)缓存支持。字符集编码解码解决方案。 Channel :一个新的原始I/O 抽象。 支持锁和内存映射文件的文件访问接口。 供应多路(non-bloking) 非阻塞式的高伸缩性收集I/O
NIO不经由应用层的缓存,内容直接放在操纵体系的缓存,应用层只是直接发送指令,让操纵体系Read buffer 直接写到Socket Buffer .少了内核到应用层之间过渡。
AIO (Asynchronous I/O) - 异步IO
JDK1.7里面叫AIO, JDK1.5叫NIO,AIO才叫做异步IO,NIO其实并不是真正意义上的异步IO,NIO只是非阻塞IO。
AIO结合统缓存buffer都省了,在外层创建NMAP的映射,内容地址用一个内存地址,地址不必要倒腾复制。直接读进来直接出去使用。
最后说一句,小编整理了2021最新完备口试题及谜底,有很多干货,包括mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细注解,也有详细的学习计划图,必要的私信复原我:Java
(求存眷)如果感觉本文对你有帮忙,请三连支持一下 谢谢!
本文地址:http://www.wbwb.net/bianchengyuyan/207877.html 转载请注明出处!