首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
风火1989
掘友等级
技术经理
上市公司研发经理,擅长并发与多线程编程。
获得徽章 0
动态
文章
专栏
沸点
课程
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
RocketMQ源码随笔-注册服务器
该类用于启动注册服务器。其main方法委托了main0方法,该方法的执行逻辑如下: 调用方法NamesrvStartup#createNamesrvController创建一个NamesrvController实例,声明为controller。 调用方法NamesrvStart…
RocketMq源码随笔-过期文件的删除
CommitLog,提交日志。所有主题、队列的消息数据都是直接写入这一文件。 ConsumeQueue,消费队列。按照主题和队列的方式进行区分,消费队列中写入定长20字节的消费条目信息,消费条目中指向了该信息对应在提交日志中的偏移量。 IndexFile,索引文件。索引文件中写…
RocketMq源码随笔-Broker的初始化
Broker的初始化是Broker启动的第一个步骤。初始化的过程中会涉及到许多信息、配置的加载。日志、索引、消费队列信息的加载和恢复。 欢迎加入技术交流群186233599讨论交流,也欢迎关注技术公众号:风火说。 Broker的启动是依靠BrokerStartup方法。 首先是…
RocketMq源码随笔-高可用HA
RocketMq在部署的时候对高可用的考虑有两种模式:一种是消息数据的复制,一种是基于选择的主节点确定(PS:2021-1-10尚未确定,这部分代码未看)。 下文是对复制模式的代码随笔解读。 欢迎加入技术交流群186233599讨论交流,也欢迎关注技术公众号:风火说。 委托给方…
RocketMq源码随笔-索引文件与消费队列的创建
Broker在将消息写入到提交日志后,写入线程的动作就结束了。而Broker后台会运行一个ReputMessageService线程。该线程会不断的检查提交日志的内容,如果发现了新增的消息数据,则读取消息的数据内容,组装为DispatchRequest对象,通过接口方法Comm…
RocketMq源码随笔-刷盘
在rocketmq中有两种刷盘模式:同步刷盘和异步刷盘。 从类图上来看,有三个不同的实现思路。那下面逐一来看过。 同步刷盘使用GroupCommitService。 异步刷盘且未开启TransientStorePool,使用FlushRealTimeService。 异步刷盘且…
局部变量保证线程安全
hash是String类的一个属性,可以看到这边首先是代码①读取了本地属性的值,并且赋值给局部变量h。并且使用h进行了业务逻辑的判断。如果h没有值的话,就进行 Hash 值的生成,并且赋值到h上,并且在代码②处赋值给了属性hash。最终返回的,也是局部变量h的值。那么上述的代码…
AQS源码详细解读
在讲解AQS之前,有几个额外的知识需要了解。知道了这些,才能明白AQS框架中很多代码的道理。 欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。 一个线程通过一个标识位来表明自己进入挂起状态,那么在该线程将挂起标识位设置为真时,需要再次检查所有的资源条…
深入分析 Java 内存模型与应用
欢迎微信扫码参与学习。
理解 Java 内存模型的因果性约束
欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。 红色下划线的内容应该是理解的关键。首先,E 是一个特定的执行序列,其由指令集合 A 以及用于对集合 A 内部存在的 PO,SO,SW,HB 排序构成。Ci 是被 E 包含的一个子集,也就是说 Ci 中…
下一页
个人成就
文章被点赞
104
文章被阅读
21,739
掘力值
799
关注了
2
关注者
53
收藏集
0
关注标签
1
加入于
2019-09-29