分类 - 源码分析

  • RocketMQ主从同步原理
    RocketMQ主从同步原理
    | 源码分析
    评论 0 | 点赞 0 | 预览 45
    主从同步这个概念相信大家在平时的工作中,多少都会听到。其目的主要是用于做一备份类操作,以及一些读写分离场景。比如我们常用的关系型数据库mysql,就有主从同步功能在。
  • RocketMQ事务消息源码解析
    RocketMQ事务消息源码解析
    | 源码分析
    评论 0 | 点赞 0 | 预览 32
    RocketMQ提供了事务消息的功能,采用**2PC**(两阶段协议)+补偿机制(事务回查)的分布式事务功能,通过这种方式能达到分布式事务的最终一致。
  • RocketMQ消息过滤机制源码详解
    RocketMQ消息过滤机制源码详解
    | 源码分析
    评论 0 | 点赞 0 | 预览 22
    如果是 TAG 过滤。broker要先根据ConsumeQueue 中 Tag HashCode过滤一次,消费者在根据 Tag 值过滤一次。因为 ConsumeQueue 为了便于检索,文件中每一个条目都是定长20字节,所以条目在最后八个字节存储的是消息 Tag 的 HashCode,而不是hash值。这样broker在拉取磁盘中的消息时,只需要对比 ConsumeQueue中 的Tag HashCode,而不需要解析 CommitLog 中的 Tag 值,如果发生Hash冲突,则交给消费者客户端过滤消息中的Tag值。
  • 详解RocketMQ消息存储原理
    详解RocketMQ消息存储原理
    | 源码分析
    评论 0 | 点赞 0 | 预览 90
  • Arthas源码分析
    Arthas源码分析
    | 源码分析
    评论 0 | 点赞 0 | 预览 799
    一. 前言Arthas 相信大家已经不陌生了,肯定用过太多次了,平时说到 Arthas 的时候都知道是基于Java Agent的,那么他具体是怎么实现呢,今天就一起来看看Arthas 的源码。首先 Arthas 是在 GitHub 开源的,我们可以直接去 GitHub 上获取源码:Arthas。本文基于 Arthas
  • 详解Spring SPI机制
    详解Spring SPI机制
    | 源码分析
    评论 0 | 点赞 0 | 预览 644
    一. 从类加载说起Java中的类加载器负载加载来自文件系统、网络或者其他来源的类文件。jvm的类加载器默认使用的是双亲委派模式。三种默认的类加载器Bootstrap ClassLoader、Extension ClassLoader和System ClassLoader(Application Cl
  • 一文搞懂 Spring Bean 的生命周期
    一文搞懂 Spring Bean 的生命周期
    | 源码分析
    评论 0 | 点赞 0 | 预览 316
    一. 前言在学习Spring框架的IOC、AOP两大功能之前,首先需要了解这两个技术的基础——Bean。在Spring框架中,Bean无处不在,IOC容器管理的对象就是各种各样的Bean。理解Bean的生命周期有助于我们更好的理解和使用Spring框架的IOC功能,也有助于我们理解框架如何初始化、使
  • 详解Spring循环依赖
    详解Spring循环依赖
    | 源码分析
    评论 0 | 点赞 0 | 预览 400
    就是两个或则两个以上的bean互相依赖对方,最终形成闭环。比如“A对象依赖B对象,而B对象也依赖A对象”,或者“A对象依赖B对象,B对象依赖C对象,C对象依赖A对象”
  • tcc-transaction源码详解
    tcc-transaction源码详解
    | 分布式事务 源码分析
    评论 0 | 点赞 0 | 预览 356
    本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的;不涉及具体使用示例。本文通过分析tcc-transaction源码带大家了解TCC分布式事务的实现原理。需要注意的是,本文所有代码都基于master-1.7.x分支,不同版本的源码会存在一定的差异。完整代码注释请参考:bigcoder84/