
netty
石楠烟斗的雾
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Netty源码编译导入Eclipse
1、环境要求Maven、Git、JDK、Eclipse2、从Netty的Git库拉取源码到本地,https://github.com/netty/netty3、打开windows的命令提示符进入源码文件夹下通过 mvn clean compile -Dcheckstyle.skip=true -Dtest 命令进行编译4、问题解决1)Failure to transfer io...原创 2019-08-14 15:00:21 · 870 阅读 · 0 评论 -
Netty中ChannelHandlerContext、Channel、ChannelPipeline的write()方法底层调用链的不同
最近在看《Netty实战》这本书,看到书中讲解ChannelHandlerContext、Channel、ChannelPipeline的write()的不同时有点懵逼,没大看懂,遂动手写了一个Demo来验证到底是怎么回事。服务启动类OneServer:package com.ccf.netty_learn.server;import io.netty.bootstrap.Serve...原创 2019-08-21 12:39:51 · 1309 阅读 · 0 评论 -
《Netty实战》阅读笔记
1、ChannelHandler的执行和阻塞通常ChannelPipeline中的每一个ChannelHandler都是通过它的EventLoop(I/O线程)来处理给它传递的事件的。所以至关重要的是不要阻塞这个线程,因为这会对整体的I/O处理产生负面影响。但有时可能需要与那些使用阻塞API的遗留代码进行交互。对于这种情况,CHannelPipeline有一种接受一个EventExecut...原创 2019-08-21 17:58:50 · 246 阅读 · 0 评论 -
学习“闪电侠”的Netty系列源码博文笔记
1、netty的reactor线程在添加一个任务的时候被创建,该线程实体为 FastThreadLocalThread,最后线程执行主体为NioEventLoop的run方法。2、reactor线程大概做的事情分为对三个步骤不断循环1).首先轮询注册到reactor线程对用的selector上的所有的channel的IO事件2).处理产生网络IO事件的channel3)...原创 2019-08-22 22:53:56 · 2096 阅读 · 1 评论 -
NIO零拷贝
在Java体系的NIO和Netty中都存在着零拷贝这么一个东西,这项技术可以提升数据的读写速度,那到底什么是零拷贝呢,下面这张图可以很详细的说明。在发送系统调用sendfile之前,处于用于上下文,之后切换到内核上下文进行系统调用 syscall sendfile,调用完成文件发送完成之后切换回用户上下文。其中在内核空间发生的事情主要过程是通过系统驱动的DMA(直接存储器存取,是一种快速传...原创 2019-09-08 14:48:34 · 272 阅读 · 0 评论 -
Reactor模式中的5种组件
下图来自Douglas C. Schmidt的《Reactor An Object Behavioral Pattern forDemultiplexing and Dispatching Handles for Synchronous Events》一文。以下是借助翻译软件翻译的上述文章中的一部分内容,可能会有误差,请谨慎学习Handles(句柄):标识由操作系统管理的资源。这...原创 2019-09-12 23:50:54 · 647 阅读 · 0 评论 -
翻译reactor-siemens.pdf
申明:本文借助翻译软件翻译了Douglas C. Schmidt的《Reactor An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events》一文中的部分内容,可能跟原文存在出入,请谨慎学习!------------------------------------...原创 2019-09-13 11:02:24 · 1099 阅读 · 0 评论