有关异步编程框架的讨论 https://www.jianshu.com/p/c4e63927ead2 https://www.jianshu.com/p/c4e63927ead2 前言 从python的twisted,到之后Java的NIO,Netty,以及Nodejs带着底层libuv的横空出世, ...
分类:
其他好文 时间:
2019-10-24 09:37:17
阅读次数:
129
通过比对ThreadLocal与Netty的FastThreadLocal源码,分析Netty的高性能组件FastThreadLocal对于性能的挖掘,领略代码的美妙。 ...
分类:
Web程序 时间:
2019-10-20 17:38:09
阅读次数:
88
什么是网络编程?一句话来说,网络编程是对网络协议的落地。 落地,意味着网络编程对实战的要求更高,也正因为如此,很多程序员更倾向于使用类似 Netty 这种封装好的框架,快速,高效。 既然如此,为什么还要学习网络编程呢? 确实,比起开发细节,在某些时候,开发效率更重要一些。但如果是高性能的网络编程呢? ...
分类:
其他好文 时间:
2019-10-20 01:13:36
阅读次数:
86
PooledByteBuf的初始化过程分为两个步骤:创建实例;初始化内存。这两个步骤的代码如下: 507383170 创建实例时调用的构造方法只是为maxCapacity和recyclerHandler属性赋值,构造方法是protected,不打算暴露到外面。派生类都提供了newInstance方法 ...
分类:
Web程序 时间:
2019-10-20 01:05:41
阅读次数:
147
首先解释一下Lettuce客户端: Lettuce 和 Jedis 的都是连接Redis Server的客户端程序。Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使用连接池,为每个Jedis实例增加物理连接。Lettuce基于Netty的连接实例(StatefulRe ...
分类:
编程语言 时间:
2019-10-17 21:50:06
阅读次数:
185
网络IO模型里有多个概念比较难理解,本文通过用Java实现一个简单的redis,从最简单的单线程单连接到NIO与netty,介绍不同的IO模型。
分类:
编程语言 时间:
2019-10-15 17:29:39
阅读次数:
85
Whats the difference between Pooled vs Unpooled and Direct vs Heap in ByteBuf? Like , what does pooled means in context of a message received , becaus ...
分类:
Web程序 时间:
2019-10-12 20:49:29
阅读次数:
194
RabbitMQ:http://www.ityouknow.com/springboot/2016/11/30/spring-boot-rabbitMQ.html https://www.kancloud.cn/ichenpeng/blog/1090570 netty: https://www.ji ...
分类:
其他好文 时间:
2019-10-12 01:42:56
阅读次数:
82
粘包和拆包是TCP网络编程中不可避免的,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制。 TCP粘包和拆包 TCP是个“流”协议,所谓流,就是没有界限的一串数据。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业 ...
分类:
Web程序 时间:
2019-10-10 22:03:49
阅读次数:
124
ByteBuf内存分配和释放由具体实现负责,抽象类型只定义的内存分配和释放的时机。 内存分配分两个阶段: 第一阶段,初始化时分配内存。第二阶段: 内存不够用时分配新的内存。ByteBuf抽象层没有定义第一阶段的行为,但定义了第二阶段的方法: public abstract ByteBuf capac ...
分类:
Web程序 时间:
2019-10-09 16:09:30
阅读次数:
120