网络编程
文章平均质量分 95
网络编程
匠道
这个作者很懒,什么都没留下…
展开
-
二、BIO、NIO编程与直接内存、零拷贝
NIO是为了弥补BIO的不足,提供了高速的、面向块的I/O。NIO全程NO-Blocking io;Java NIO 和 IO 之间第一个最大的区别是,IO 是面向流的,NIO 是面向缓冲区的。Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方。此外,它不能前后移动流中的数据。如果需要前后移动从流中读取的数据,需要先将它缓存到一个缓冲区。Java NIO 的缓冲导向方法略有不同。数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区中前后移动。原创 2024-01-29 18:16:06 · 942 阅读 · 0 评论 -
三、从底层了解linux中的epoll
关注点在于调用方是否主动获取结果:调用方需要主动等待结果返回;:不需要主动等待结果返回,通过其它手段获取结果,如回调函数;:关注点是等待结果返回;阻塞:是指结果返回前,当前线程呗挂起,不做任何事;非阻塞:指结果返回前,线程可以做其它事情;(*好好品味上述描述):最常见模型,去买东西,东西卖完了,你在店里一直等待,不做任何事情(干等),等到有货位置;效率很低;:同步非阻塞可以抽象为轮训模式,去买东西,东西卖完了,不需要傻傻的等着,你可以去买奶茶,但这期间你需要时不时的去问老板东西到货了吗;原创 2024-01-30 18:15:00 · 1252 阅读 · 1 评论