RocketMQ源码解析(二)——注册中心
RocketMQ源码解析(二)——注册中心
阅读此系列要求对其他知识有一定先行理解,包括但不限于: Netty核心源码。如果你不清楚这部分内容,也可以将其当成一个黑盒看待,但是至少要求会基本的使用。 计算机网络基础理论...
RocketMQ使用Netty进行底层通信,包括NameServer、Broker(Master/Slave)、Producer、Consumer4个角色,接下来让我们分析一...
接上篇# 源码解析:AOP cglib类代理 使用cglib实现的代理与jdk代理类似,只是代理对象的构造方式不同。 Spring使用ObjenesisCglibAopPro...
通过schema形式使用spring aop时,spring提供了相应的拓展,可以解析自定义的标签。下面是基于schema使用spring aop的一个示例: 解析aop标签...
ServerBootstrap启动成功后,ServerChannel开始监听accpet事件,具体处理监听事件的代码在NioEventLoop中。 NioEventLoop的...
ServerBootstrap Netty服务端启动代码如下所示: 首先是ServerBootstrap的各种属性的设置,比如线程池,channel类型等等。设置完其属性后,...
线程模型 概述 因为具有多核心或多个CPU 的计算机现在已经司空见惯,大多数的现代应用程序都利用了复杂的多线程处理技术以有效地利用系统资源。相比之下,在早期的Java 语言中...
AbstractReferenceCountedByteBuf 几乎所有常用的缓冲区都继承AbstractReferenceCountedByteBuf类,这个类提供了引用计...
阅读此文章前请先了解java nio以及netty的基本使用。可以阅读《Java NIO》以及《Netty实战》这两本书以获取基础知识。 本文共分为四节: buffer. 介...
虽然java相比c++等语言提供了gc机制,并且屏蔽了指针的概念,但是某些资源依然需要程序员手动释放(比如文件流,数据库连接等),因此由于编码上的疏忽等原因,经常出现资源泄漏...
本文是Linux系统下的安装,如果需要在windows下使用,请前往https://github.com/MicrosoftArchive/redis/tags下载windo...
LinkedBlockingDeque类实现了BlockingDeque接口。阅读BlockingDeque文本以获取有关的更多信息。 Deque来自“双端队列” 这个词。D...
java.util.concurrent中的BlockingDeque接口表示一个双向队列,它可以被线程安全的放入以及从中获取实例。在本文中,我将向你展示如何使用Blocki...
SynchronousQueue类实现了BlockingQueue接口。阅读BlockingQueue文本以获取有关的更多信息。 SynchronousQueue是一个内部只...
PriorityBlockingQueue类实现了BlockingQueue接口。阅读BlockingQueue文本以获取有关的更多信息。 PriorityBlockingQ...
LinkedBlockingQueue类实现了BlockingQueue接口。阅读BlockingQueue文本以获取有关的更多信息。 LinkedBlockingQueue...
DelayQueue类实现BlockingQueue接口。阅读BlockingQueue文本以获取有关的更多信息。 DelayQueue内部阻止元素直到某个延迟到期,元素必须...