摘要: JVM synchronized锁升级 实验(64位) 一. MarkWord图 32位虚拟机下: 64位虚拟机下: 由于我的机器是64位的, 因此后面的实验会参考 第二张图的内容做详解。 二、偏向锁延迟偏向 验证 HotSpot虚拟机在启动后开启偏向锁模式 默认在 4s后, 为了减少初始化时间,J 阅读全文
posted @ 2022-03-21 16:35 s686编程传 阅读(117) 评论(0) 推荐(0) 编辑
摘要: RocketMQ 消费者(三) - Consumer端拉消息 (图解) 1. 拉消息服务 与负载均衡服务一样, 消费者端拉消息的入口在 客户端实例中,为 PullMessageService 。 内部有几个关键点: 其内部维护了一个 阻塞任务队列 private final LinkedBlocki 阅读全文
posted @ 2022-03-12 13:45 s686编程传 阅读(156) 评论(0) 推荐(0) 编辑
摘要: #RocketMQ 消费者(二) - 负载均衡 (图解) 1. 负载均衡入口 如图, 负载均衡服务 实际上是运行在 客户端实例中, 是一个周期性执行的服务,正常情况下 每20s执行一次。 负载均衡方法 最终会 来到 每个消费者内部的 负载均衡实例对象中, 然后根据消费者本地的 订阅集合, 来进行负载 阅读全文
posted @ 2022-03-11 15:47 s686编程传 阅读(469) 评论(0) 推荐(0) 编辑
摘要: RocketMQ 消息者(一) Consumer端架构 (图解) 1.配置项 Consumer 采用门面模式, 其门面类为 DefaultMQPushConsumer , 核心业务类为:DefaultMQPushConsumerImpl。 其中 DefaultMQPushConsumer 门面类中包 阅读全文
posted @ 2022-03-11 13:30 s686编程传 阅读(720) 评论(0) 推荐(0) 编辑
摘要: RocketMQ消息存储(三) - MappedFileQueue 上一篇 讲解了 MappedFile 类, 其底层实际上是通过 MappedByteBuffer采用零拷贝的方式 来管理 文件的读写 。 既然 MappedFile 是管理单个文件的类, 那么就会存在用来管理 这些 MappedFi 阅读全文
posted @ 2022-03-09 16:55 s686编程传 阅读(147) 评论(0) 推荐(0) 编辑
摘要: RocketMQ消息存储(四) - CommitLog 之前几篇文章都对RocketMQ消息存储的底层基本类做详解。 从本篇开始,就来到了消息存储的上层层面的存储文件对象了。 我们知道RocketMQ 主要的消息存储文件有三种: 1. commitlog文件 2. consumeQueue文件 3. 阅读全文
posted @ 2022-03-09 16:53 s686编程传 阅读(867) 评论(0) 推荐(1) 编辑
摘要: RocketMQ消息存储(一) - mmap零拷贝(前置篇) 从本篇开始研究Broker 对文件的存储, 这些文件分为三类 (CommitLog , ConsumeQueue , IndexFile) 。 而在分析文件存储的源码之前, 我们要先了解一个重要的前置知识: 零拷贝IO 技术. 下面是针对 阅读全文
posted @ 2022-03-09 16:39 s686编程传 阅读(471) 评论(0) 推荐(0) 编辑
摘要: RocketMQ消息存储(二) - MappedFile MappedFile 类是RocketMQ消息存储模块中最底层的类, 它是对 MappedByteBuffer(mmap) 的进一步封装,能够更方便的去操作和使用 mmap零拷贝(不理解的请移步上一篇**《RocketMQ消息存储(一) - 阅读全文
posted @ 2022-03-02 16:43 s686编程传 阅读(401) 评论(0) 推荐(0) 编辑
摘要: RocketMQ(六) - 服务端请求与响应的处理 源码分析 上一篇 **《RocketMQ(五) - RemotingServer服务端 请求方法 源码分析》**讲述了 RocketMQ 中 Netty服务端作为 请求发送方 的 三个 调用方法。 本篇主要分析 服务端 对 客户端发来的 请求 与 阅读全文
posted @ 2022-02-22 23:33 s686编程传 阅读(226) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-02-22 23:32 s686编程传 阅读(0) 评论(0) 推荐(0) 编辑