上一页 1 2 3 4 5 6 ··· 13 下一页
摘要: 0. FastThreadLocal简介 如同注释中所说:A special variant of ThreadLocal that yields higher access performance when accessed from a FastThreadLocalThread. 这是Thre 阅读全文
posted @ 2017-10-14 16:25 qeDVuHG 阅读(1499) 评论(0) 推荐(0) 编辑
摘要: 0. ChannelPipeline简介 ChannelPipeline = Channel + Pipeline,也就是说首先它与Channel绑定,然后它是起到类似于管道的作用:字节流在ChannelPipeline上流动,流动的过程中被ChannelHandler修饰,最终输出。 1. Cha 阅读全文
posted @ 2017-09-30 18:45 qeDVuHG 阅读(1614) 评论(0) 推荐(0) 编辑
摘要: 0. ChannelInitializer简介 直接用ChannelInitializer的注释吧:A special ChannelInboundHandler which offers an easy way to initialize a Channel once it was registe 阅读全文
posted @ 2017-09-26 17:28 qeDVuHG 阅读(13496) 评论(0) 推荐(0) 编辑
摘要: 本文会分析Netty服务器的启动过程,采用的范例代码是Netty编写的Echo Server。 0. 声明acceptor与worker 由于Netty采用的reactor模型,所以需要声明两组线程,一组作为boss/acceptor,另一组作为worker boss/acceptor负责监听绑定的 阅读全文
posted @ 2017-09-24 20:33 qeDVuHG 阅读(2020) 评论(0) 推荐(0) 编辑
摘要: 0. NioEventLoop简介 NioEventLoop如同它的名字,它是一个无限循环(Loop),在循环中不断处理接收到的事件(Event) 在Reactor模型中,NioEventLoop就是Worker的角色,关联于多个Channel,监听这些Channel上的read/write事件,一 阅读全文
posted @ 2017-09-23 21:10 qeDVuHG 阅读(1633) 评论(0) 推荐(0) 编辑
摘要: 0. NioEventLoopGroup简介 NioEventLoopGroup可以理解为一个线程池,内部维护了一组线程,每个线程负责处理多个Channel上的事件,而一个Channel只对应于一个线程,这样可以回避多线程下的数据同步问题。 1. NioEventLoopGroup类图 2. 构造方 阅读全文
posted @ 2017-09-23 17:58 qeDVuHG 阅读(13342) 评论(0) 推荐(0) 编辑
摘要: 给你一台4路E7-4820V2(32核心64线程),512G内存的服务器,你该如何编程才能支持百万长连接? 最直接的想法是采用BIO的模式,为每个连接新建一个线程,在一一对应的线程中直接处理连接上的数据请求。 但在Java中,新建线程的开销非常昂贵(默认情况下每个线程会占据1M多的内存,百万连接就是 阅读全文
posted @ 2017-09-22 20:26 qeDVuHG 阅读(1931) 评论(0) 推荐(1) 编辑
摘要: 本系列文章将介绍Netty的工作机制,以及分析Netty的主要源码。 基于的版本是4.1.15.Final(2017.08.24发布) 水平有限,如有谬误请留言指正 参考资料 the_flash的简书 占小狼的简书 阅读全文
posted @ 2017-09-21 20:52 qeDVuHG 阅读(594) 评论(0) 推荐(0) 编辑
摘要: ByteBuffer的源码中有这样一段注释: A byte buffer is either direct or non-direct. Given a direct byte buffer, the Java virtual machine will make a best effort to p 阅读全文
posted @ 2017-09-11 18:12 qeDVuHG 阅读(5809) 评论(0) 推荐(1) 编辑
摘要: 假设我们想要用Java读取一个二进制文件,有好几种方式,本文会选取其中比较典型的三种方式进行详细分析 0. 准备工作 安装openjdk-1.8.0.141(普通的jdk中涉及IO的很多代码是闭源的,点进去是编译之后的字节码,没法看) openjdk-1.8的c源码 1. FileInputStre 阅读全文
posted @ 2017-09-11 17:32 qeDVuHG 阅读(1426) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 13 下一页