文章分类 -  javaIO/NIO

摘要:简介 在Java的Socket编程中,若使用阻塞式(BIO),则往往通过ServerSocket的accept()方法获取到客户端Socket之后,再使用客户端Socket的InputStream和OutputStream进行读写。Socket.getInputstream.read(byte[] 阅读全文
posted @ 2020-06-18 13:37 looyee 阅读(3293) 评论(0) 推荐(0)
摘要:本文简述JDK1.7的NIO在linux平台上的实现,对java NIO的一些核心概念如Selector,Channel,Buffer等,不会做过多解释,这些请参考JDK的文档。JDK 1.7 NIO Selector在linux平台上的实现类是sun.nio.ch.EPollSelectorImp 阅读全文
posted @ 2020-06-12 11:21 looyee 阅读(729) 评论(0) 推荐(0)
摘要:Efficient data transfer through zero copyZero Copy I: User-Mode Perspective 0. 前言 在阅读RocketMQ的官方文档时,发现Chapter6.1中关于零拷贝的叙述中有点不理解,因此查阅了相关资料,来解释文中的说法。 Co 阅读全文
posted @ 2020-06-10 10:43 looyee 阅读(405) 评论(0) 推荐(0)
摘要:本文转载自:https://zhuanlan.zhihu.com/p/63179839 从事服务端开发,少不了要接触网络编程。epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、skynet和大部分游戏服务器都使用到这一多路复用技术。 因为epoll的重要性,不少游 阅读全文
posted @ 2020-05-26 13:12 looyee 阅读(1891) 评论(1) 推荐(0)
摘要:如果对nio了解比较透彻的话,就不会纠结这个问题了,毕竟市面上流行的中间件,如mycat ,spark都是用的nio,当然使用netty的更多,如dubbo; 我们需要知道nio的原理,同时也不必乱造轮子。 使用jdk-nio你需要掌握linux-selector原理,就是将所有的channel注册 阅读全文
posted @ 2020-05-21 14:38 looyee 阅读(161) 评论(0) 推荐(0)
摘要:有时候我们需要对同一个InputStream对象使用多次。比如,客户端从服务器获取数据 ,利用HttpURLConnection的getInputStream()方法获得Stream对象,这时既要把数据显示到前台(第一次读取),又想把数据写进文件缓存到本地(第二次读取)。 但第一次读取InputSt 阅读全文
posted @ 2019-05-06 13:18 looyee 阅读(1629) 评论(0) 推荐(0)