关于直接缓冲区和堆内缓冲区
听了阿神老师这节课的讲解,对于直接缓冲区的释放,以及同步和异步的情况下ChannelInboundHandlerAdapter和SimpleChannelInboundHandler 需要注意的问题,感觉很是受用。
与此同时,我有了一个疑问,就是上面的问题的根源在于使用了直接缓冲区,那如果我使用堆内缓冲区是不是就没有这个问题了? 由此又引申出了一个新的问题:什么情况下用直接缓冲区,什么情况下用堆内缓冲区?
还是说就算用了堆内缓冲区,还是需要处理直接缓冲区的问题?
24
收起
正在回答
1回答
关于这个问题,你可以了解下zero copy,zero copy 有两种JAVA实现,一种是sendfile,一种是mmap。然后再考虑二者的区别。最后了解一下堆内,堆外。也就是内存buffer,和directbuffer(堆外),有机会给大家分享一下,不然不太好解释
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星