摘要: Netty的中零拷贝与上述零拷贝是不一样的,它并不是系统层面上的零拷贝,只是相对于ByteBuf而言的,更多的是偏向于数据操作优化这样的概念。 Netty中的零拷贝: 1.CompositeByteBuf,将多个ByteBuf合并为一个逻辑上的ByteBuf,避免了各个ByteBuf之间的拷贝。 使 阅读全文
posted @ 2020-02-25 16:11 Allen没有青春 阅读(191) 评论(0) 推荐(0)
摘要: 同样只是大致上的认识。 其中,当使用transferFrom,transferTo的时候用的sendfile()。 如果系统内核不支持 sendfile,进一步执行 transferToTrustedChannel() 方法,以 mmap 的零拷贝方式进行内存映射,这种情况下目的通道必须是 File 阅读全文
posted @ 2020-02-25 15:33 Allen没有青春 阅读(188) 评论(0) 推荐(0)
摘要: 这里只是感性地认识Linux零拷贝,不涉及具体细节。 1.Linux传统的数据拷贝 用户进程是不能直接访问文件系统的,要先切换到内核态,发起系统调用,DMA把磁盘中的数据写入内核空间,内核再把数据拷贝到用户空间,用户进程才能操作这些数据。 如上把磁盘上的文件发送到网络,将会发生4次状态切换,2次cp 阅读全文
posted @ 2020-02-24 23:34 Allen没有青春 阅读(215) 评论(0) 推荐(0)
摘要: 本文不涉及具体代码,只分析Linux IO演化的心路历程,学习资料来源网络,不保证一定正确,若有错误,欢迎指出。 BIO 服务端创建socket(80端口),文件描述符3号。 当线程调用accept时,阻塞等待3 fd连接就绪。 网卡(80端口)收到数据,将数据写入内存,向cpu发出中断信号,内核得 阅读全文
posted @ 2020-02-24 22:05 Allen没有青春 阅读(353) 评论(0) 推荐(0)
摘要: 我的观点 首先,分开各自理解。 1. 同步:描述两个(或者多个)个体之间的协调关系。 比如,单线程中,methodA调用了methodB,methodB返回后,methodA才往下执行,那么称A同步调用了B。 比如,多线程中,线程1访问完某个资源,才到线程2访问。 同步在一定的 互斥基础上,强调的是 阅读全文
posted @ 2020-02-24 18:14 Allen没有青春 阅读(316) 评论(0) 推荐(0)
摘要: 我的观点fail-fast是什么就不多解释了,应该注意到的是(以ArrayList为例):modCount位于AbstractList中, protected transient int modCount = 0; 并无volatile修饰,因此当两线程是共用同一个cpu时才会抛出并发修改异常。比如 阅读全文
posted @ 2020-02-22 19:23 Allen没有青春 阅读(246) 评论(0) 推荐(0)
摘要: 利用springboot+netty+websocket可以很快地搭建出一个聊天室(一对一,一对多聊天)出来。 结合日常所用的QQ、微信,思考了一下得出如下的群消息存储模型(实际上我并不知道微信是如何存储的)。 阅读全文
posted @ 2020-02-21 19:36 Allen没有青春 阅读(280) 评论(0) 推荐(0)
摘要: package github.com.AllenDuke.rpc.customer; import github.com.AllenDuke.rpc.netty.NettyClient; import github.com.AllenDuke.rpc.publicSource.Calculator; 阅读全文
posted @ 2020-02-12 13:16 Allen没有青春 阅读(228) 评论(0) 推荐(0)
摘要: 服务端: 启动后,等待客户端发来信息,收到信息后进行处理,返回结果。 客户端: 主线程中发起一次RPC,那么就将信息封装成一个任务,提交到线程池,阻塞等待结果。 线程池中工作线程执行任务,发送信息,等待netty线程收到结果、唤醒自己。 工作线程完成任务,返回结果 所以,一条消息应该包括要调用的类, 阅读全文
posted @ 2020-02-12 11:30 Allen没有青春 阅读(202) 评论(0) 推荐(0)
摘要: package github.com.AllenDuke.concurrentTest.threadPoolTest; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.Atom 阅读全文
posted @ 2020-02-10 19:41 Allen没有青春 阅读(222) 评论(0) 推荐(0)