读源码感

带着问题撸源码系列-zookeeper-客户端发读请求给follower,是转发给leader读还是读自己? 问题 带着问题撸源码系列-zookeeper-客户端发读请求给follower,是转发给leader读还是读自己? 猜测 读自己就行了吧。不过可能要考虑当前有没有在写之类的。 读源码 参考写请求的分析 还把断点打在消费queue消息这儿 设置条件断点,如果是ping(request.type==11)请求咱就不断点了。 回答问题 ... 阅读详情

前言

最近的时间差不多都围绕着RocketMQ的学习上,一开始从了解RocketMQ的场景到RocketMQ的一个使用,然后到源码的阅读。前面两个过程无需多说,到了读源码的阶段,我时常问自己,读这份源码的意义在于哪?

感想

我从namesrv的启动类入手开始阅读,作为切入点我觉得没错,但是时常因为某个细枝末节的事情从而打断对整块功能块的认识。这点我觉得是在读源码的一个误区吧,首先你想要掌握所有的代码块的细节是存在一个性价比不高的问题。为什么这么说呢?

第一你了解的这些细节对你有什么帮助呢,如果仅仅只是逻辑处理上的一个点,这个点又不会影响到你对这块功能的认识,大可不必深究。第二,为了想要弄明白这些细节需要花比较多的时间,而且很有可能找不到相关的资料。

另外一个点就是读源码的目的是什么?我觉得一开始我的目的性就不够强,导致读了部分RocketMQ的源码,但对其框架的优点却无法把握住。RocketMQ作为一款优秀的通信中间件,更需要把重点放在其:

  • 高性能、高可用
  • 如何实现最终一致性
  • 了解 Netty 在分布式中间件如何实现网络通信以及各种异常场景的处理
  • MQ 消息存储
  • 如何实现心跳监测

的确是这样,学习这个框架就是要学这些核心知识点,一些无关紧要的逻辑处理根本不值得花时间去学习。所以后面的阅读过程中,我会以某个重点为入口,去看这份代码。

读logback源码系列文章(一)——对接slf4j 以前也读过一些开源项目的源码,主要是spring和ant,不过那会都没记录下来,也没仔细消化吸收,现在时间久了忘了好多,而且模模糊糊地感觉学到了一些东西,但具体是什么也说不出个所以然来。深刻反省,这样读源码效果太差。 前几天决定重新开始读源码,并把读源码的过程和收获记录下来。想了想决定先用1-2个月时间把logback的源码看一下。目的是……,好吧,没什么目的,就是想读一下。 大家知道,slf 阅读详情

相关推荐

如何阅读源代码,开源项目

一份教你如何阅读源代码的文档,以一个开源的项目为例。

如何去阅读源码,我总结了18条心法

当我们在读完一个类的代码的时候,一定要总结这个类的职责,明白这个类存在的意义。一般情况下一个类核心职责只有一个,遵循单一职责的设计原则。举个例子,在RocketMQ中有一个类MQClientAPIImpl。

weixin_55305220的博客 1442

NY8A053E 例程 之 PWM Ouput

更多关于NY8A053E的相关例程请留言!

倪彬笑阳的博客 2924

读源码的七大步骤

掌握阅读源码的秘密武器,让牛b哄哄的项目在你面前无所遁形!

h295928126的博客 1316

【项目实战-MATLAB】:基于机器学习的虹膜识别系统设计

虹膜识别主要包括虹膜定位、虹膜裁剪、极坐标变换、归一化、HOG特征提取、虹膜识别六个主要步骤。本系统采用MATLAB作为开发工具实现 主要算法:霍夫变换预处理 HOG特征提取 SVM进行识别

qq_45047246的博客 6537

接地设计的本质:按电流类型选择物理连接方式

接地是电子系统中实现电位参考、噪声抑制与安全保护的基础技术,其核心原理在于为不同性质的电流提供可控的低阻抗返回路径。从直流到GHz频段,电流的频率特性、能量等级和持续时间决定了接地的物理实现方式——工频安全电流依赖低电阻导体,高频噪声需低感平面或磁珠衰减,ESD脉冲要求受控泄放电阻,浪涌能量则必须通过独立短路径导入大地。这种‘目的决定方式’的设计逻辑,直接关联EMC合规性、信号完整性与系统可靠性。本文聚焦PCB级与设备级工程实践,详解安全地、功能地、浪涌地与静电地的判据差异及六种典型连接策略,帮助硬件工程师

weixin_36369848的博客 260

为什么要读源代码,如何阅读源代码

看源码的目标决定了此时此刻的关注点,不管是解决遇到的bug还是学习某个算法,都让我们聚焦到一个具体的问题,从这个具体的问题去追踪代码,忽略掉当前无需关注的细枝末节,步步深入,直达目标。当然在解决一个问题的时候,有可能会引发新的问题,尤其是学习的时候,此时只需记录新问题(放到收集篮,不要立即发散),待之前追踪的问题解决之后,再来看新发现的问题。一般来说,我们刚开始仅仅是使用一个开源项目,但随着使用的深入,会发现一些自己需要的功能并没有很好的支持,向项目组提的issues也可能得不到快速的响应。

晨港飞燕的专栏 1203

法律AI工具横评:Kimi Work与WorkBuddy,谁更适合法律人?

在人工智能技术日益普及的今天,自然语言处理(NLP)和大语言模型(LLM)正深刻改变着专业领域的工作范式。其核心原理在于通过海量数据训练,使模型能够理解、生成和推理人类语言。这一技术价值在于将从业者从繁琐、重复的信息处理工作中解放出来,极大提升工作效率与知识获取的便捷性。在法律、金融、咨询等对文本处理要求极高的行业,AI助手已展现出在文档分析、信息检索和内容生成方面的巨大潜力。具体到法律应用场景,AI工具能够辅助完成合同审查、法律检索和文书起草等核心任务,成为专业人士的得力助手。本文聚焦于近期备受关注的两款

weixin_30279671的博客 559

阅读源码太费时间、太枯燥、没啥用,不用看了?

“我能熟练使用这个框架/软件/技术就行了, 为什么要看源码?”“平时不用看源码, 看源码太费时间,还容易忘记,工作中出现问题再针对性地阅读,效率更高。”“为了面试才需要看源码!”如果你也...

码农翻身 1990

Mind+掌控板实战:5分钟搞定Easy IoT的MQTT通讯(附完整代码)

本文详细介绍了如何利用掌控板和Mind+图形化编程软件,快速实现基于Easy IoT平台的MQTT通讯。通过清晰的步骤讲解和完整的代码示例,指导用户完成从云端配置、Wi-Fi连接到MQTT消息发布与订阅的全过程,帮助初学者轻松构建物联网设备间的双向对话系统。

weixin_29300241的博客 446

Unity类银河恶魔城学习记录1-10 PlayerWallJump源代码 P37

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考

Homura_的博客 1378

SPring源码分析- - - 一书读感

1.@Transactional(propagation=Propagation.REQUIRED) 标注的是事务传播类型,如果当前没有事务,就新建一个事务,如果已经存在一个事务,就加入到这个事务中! https://www.bbsmax.com/A/l1dyKnbJem/ 2.默认情况下Spring中的事务处理只对RunTimeException方法进行回滚,所以,如果此处将Runtime...

有才而性缓,定属大才。有智而气和,斯为大智。 483

这才是 Python 的正确玩法!用强化学习 (RL) 训练 AI 玩《王者荣耀》,胜率 90%!

大家打排位时,一定遇到过那种“意识神级、操作零失误”的对手,或者“走位呆滞、送人头”的队友。以前的“人机”是程序员写死的脚本(If 血量<20% Then 回城)。而现在的顶级 AI(如腾讯绝悟、OpenAI Five),是靠强化学习 (Reinforcement Learning)自己“左右互搏”练出来的。今天,我们不谈枯燥的数学公式,我将手把手教你用,搭建一个能玩 MOBA 游戏的 AI Agent。即使不能去 KPL 打职业,虐一下钻石局还是绰绰有余的!

BUG猿的博客 1182

《Linux 源码趣读》学习

《Linux 源码趣读》学习

青少年趣味编程 2720

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何读源码-方法论总结

最近实现了一个简单Android上的Web服务器。 在实现的过程中对于HTTP协议的理解更加深刻了。 我参考了NanoHttpd这个开源的项目,项目完成之后从中也深刻的认识到,读源码是一个软件工程师在架构师道路上的必经之路,也是正确的道路。 就像听音乐,如果听得多了,自然审美品位就会提高。 就像跟人交流的多了,也就能发现自己的缺点,变得越来越善于交流。 写代码也是一样,首先得有见识,要出去走走看,...

潇洒小燕青的专栏 586

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

读源码真的有用吗?

读源码真的有用吗?为什么读完源码写的还是一坨屎呢? 那么就来听听我读源码这两年都读了什么源码,真的有效果吗? 框架源码读取路程 实习阶段,开始读公司框架的源码 转正期间,开始读Spring的源码 https://blog.youkuaiyun.com/u013076044/column/info/17942 一年左右开始读Dubbo的源码 https://blog.youkuaiyun.com/u013076044/c...

wuhulala的休息室 1479

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

我是如何读源码的

今天有小伙伴群里问我该如何读源码,问题和解答如下,希望对大家有帮助: 问题:那如何正确的看源码,最近想看redis,不知道从哪方面下手。 回答:你首先要知道你要看的源码做了什么,是你的话该如何做,带着这种思考再去看,从顶层的设计开始,摸清整体节奏,也就拿到了骨架,然后再丰富细节,也就是代码细节。我自己的话 现在是培养出了语感,基本上看到代码大概就知道对方下一步该怎么设计,怎么实现,偏差很小。 不管...

weixin_34197488的博客 105

如何读源码更有效--直播

一、背景 很多朋友在读源码收获不是很大,主要原因: 缺乏整体思维,迷失在细节中(跳来跳去跳晕了) 缺乏思考(学而不思则罔,思而不学则殆!!!) 不知道读源码究竟读什么(设计思想) 角度单一(解决问题角度、性能优化角度、设计模式角度、每次提交了、单元测试、注释等) 方法单一(不懂的高级的调试技巧,不懂的时序图插件) 输出 最近开了一场直播来讲述以下内容: 读源码究竟读什么? 读源码的核心思想 读源码的常见技巧 二、录播内容

悟鸣的技术博客 905

我是怎么样读源码的?

来源:youzhibingcnblogs.com/youzhibing/p/9553752.html读源码的经历我为什么读源码我是怎么样读源码的内容了解设计模式的了解配合ide进行断点追踪...

weixin_44747933的博客 130

如何读源码学习

先弄明白自己读源码的目的。 通常情况下从从源码里边去寻找问题的答案,是最靠谱的。 从源码中,去学习代码组织方式,对于一些优秀的源码来说,照猫画虎,也能给我门带来很大的提升。 系统的掌握一个开元中间件,对我们的工程能力的提升是非常大的。对于一个两年到三年的开发人员来说,精通自己在业务中常用的中间件是有必要的。而系统的读一下源码可能更对得起"精通"二字。 读源码,然后针对自己的业务做定制化开发。 我之前读过spring的源码。很多设计思想对我的今天的代码设计,都起到了很大的指导作用。而现在想要...

Angus 4079

如何读源码

如何读源码前言源码阅读原则 前言 读源码很难,难的是在于理解别人的思路,读自己的源码以及和自己思路类似的人的源码很容易。读源码需要具备数据结构基础和掌握设计模式。这样读起来才不会费劲。假如你想去读PriorityQueue的源码,但你连PriorityQueue是什么都不知道,何必这么折磨自己呢。正所谓万丈高楼平地起,数据结构和设计模式是必备掌握的基础内容。 源码阅读原则 对于如何阅读源码,首先代码跑不起来的不读,因为只有代码跑起来,点进去的源码和原来点进去是不一样的,原来点进去的可能是父类,可能是抛出了一

༄༊星河༣ 1144

像小说一样趣读 Linux 源码

每个程序员都有一个操作系统梦,而操作系统也是每个程序员的心结。很粗糙地了解一点操作系统的理论知识,一知半解,已经无法满足当下程序员的口味和需求了。但要说深入剖析操作系统,又是大部分程序员都很惶恐的一件事。那如果是要读一遍操作系统源码,即便是代码量很少的 Linux 0.11 版本,那也跟要了命一样。当然,很多优秀的操作系统书籍都是以 Linux 0.11 这个经典版本为研究对象进行讲解的,比如《L...

weixin_41385912的博客 1810

读docker源码 需要做哪些准备

在技术圈子里,Docker 已经成为容器化技术的代名词。作为一个开源项目,Docker 的源码不仅复杂,而且涉及众多技术和领域知识。如果你打算深入了解 Docker 的内部实现,那么准备工作是必不可少的。本文将带你了解在读 Docker 源码之前需要做哪些准备,帮助你在探索过程中更加得心应手。

xiamu_CDA的博客 356

比读源码更重要的是什么?

我不赞成读源码,我不赞成读源码,我不赞成读源码。 本文章就是闲着没事,随便聊聊。欢迎大家找茬,但请注意用词(不文明人需知)! 用冰箱类比一下,买一台冰箱包含:1、冰箱 2、说明书 冰箱:Spring框架 说明书:文档 前提:我们不知道怎么用冰箱 怎么使用呢? 有一个叫说明书的本本,它从整体描述冰箱结构,主要功能总是那么亮眼,让你不得不一眼看见。每个功能的使用情况都描述的非常清楚。还有...

小志之倔起 172
上一篇: RocketMQ 源码分析 BrokerStartUp(七)
下一篇: RocketMQ 源码分析 消息存储(预备知识一)
CallMeJiaGu
博客等级 码龄12年 149粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值