写点什么

源码分析

21 人感兴趣 · 197 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/b4/b404f0f3ad81f89f486e073431fbb61c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一文带你读懂设计模式之责任链模式 | 京东云技术团队

翻了一下之前刚入职时候的学习笔记,发现之前在熟悉业务代码的时候曾经专门学习并整理过过设计模式中的责任链模式,之前只是对其简单了解过常用的设计模式有哪些,并未结合实例和源码深入对其探究,利用熟悉代码契机进行系统学习并整理文档如下。

https://static001.geekbang.org/infoq/36/36ebe6f75d1dc8b63b11acb41252cfc3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

揭秘 ChaosBlade CPU 故障:实现 CPU 故障的黑科技

通过本文我们将了解如何利用 ChaosBlade 实现 CPU 负载故障的模拟(花式打爆CPU),同时会深入挖掘 ChaosBlade CPU 故障模拟的核心代码,了解其实现机制。

【源码分析】【netty】FastThreadLocal 为什么快?

接下来几篇文章,我们来聊一聊netty相关的。这里作者想先从FastThreadLocal开始说,而不是可能大家更熟悉的reactor啊,责任链设计啊,ByteBuf啊,池化啊等等。不过虽然说FastThreadLocal熟知程度不如其他的,但是其实还是很有内容的。比如最核心的为啥快呢?

【源码分析】【seata】at 模式分布式事务 -server 端与客户端交互

前段时间家里小狗生病,一直在忙着给他治病照顾她,最后还是没办法力挽狂澜,最后走了,作者情绪低落,所以停更了一段时间。上文介绍了 at 模式中client段是如何隐式传递分布式事务 id的。而对于server端,我们还是充满了未知,不过我们知道的是,server肯定

【源码分析】【seata】at 模式分布式事务 -xid 隐式传递

上文介绍了 at 模式中 rm的实现原理,上文的总结中也说到了,目前我们涉及的都还是单体架构,其实从上文的源码分析切入点就可以看出来,因为依赖是springboot的starter,也就是微服务自身。本文就让我们来看一下分布式架构下,分布式的唯一标识也就是xid,是

【源码分析】【seata】at 模式分布式事务 -rm 实现逻辑

上文介绍了at模式中tm的实现原理,其实tcc模式也是如此实现的。今天就让我走进rm的源码世界,俩看一看at模式下,rm是如何自实现增强逻辑的,也就是自动化的补偿逻辑。

【源码分析】【seata】at 模式分布式事务 -tm 实现逻辑

今天这篇文章我们首先入门seata的源码,先整体观测一下他是怎么通过一个注解完成分布式事务中tm的逻辑的

https://static001.geekbang.org/infoq/21/21457c700cb8af246bd58565cb156dad.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【Spring 专题】「技术原理」从源码角度去深入分析关于 Spring 的异常处理 ExceptionHandler 的实现原理

ExceptionHandler是Spring框架提供的一个注解,用于处理应用程序中的异常。当应用程序中发生异常时,ExceptionHandler将优先地拦截异常并处理它,然后将处理结果返回到前端。该注解可用于类级别和方法级别,以捕获不同级别的异常。

https://static001.geekbang.org/infoq/d0/d052fdd72e8280fb81c051b98977a7b5.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【深度挖掘 RocketMQ 底层源码】「底层系列」深度挖掘 RocketMQ 底层导致消息丢失透析(Broker Busy 和 ToManyRequest)

通过上一篇文章《【深度挖掘 RocketMQ 底层源码】「底层问题分析系列」深度挖掘 RocketMQ 底层那些导致消息丢失的汇总盘点透析([REJECTREQUEST]》,我们知道了对应的“[REJECTREQUEST]system busy, start flow control for a while”的主要原因。

https://static001.geekbang.org/infoq/48/4838d1ee59bb3cd001ef086d57d82d56.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

通过源码分析 RocketMQ 主从复制原理

RocketMQ是一个纯Java、分布式、队列模型的开源消息中间件,具有高性能、高可靠、高实时、分布式特点。本篇文章通关源码分析深入地介绍了RocketMQ主从复制原理。

https://static001.geekbang.org/infoq/78/780ff692ab6e25ebb43436dc75b2fd0d.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

混沌工程之 ChaosBlade 故障注入百宝箱

在上文中对 ChaosBlade 进行了整体介绍,其中主要分为 ChaosBlade Box 以及 ChaosBlade Tool 两大部分,ChaosBlade Box 提供了可视化的管理控制台。真正的故障注入能力是由 ChaosBlade Tool 提供的。 本文将重点介绍 ChaosBlade Tool 的架构以及实现细节。

https://static001.geekbang.org/infoq/f1/f11d549e41c2c0086a22b5811bbdc9dd.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

React 之 Context 的变迁与背后实现

用户头像
冴羽
2022-12-12

本篇我们讲 Context,Context 可以实现跨组件传递数据,大部分的时候并无需要,但有的时候,比如用户设置 了 UI 主题、地区偏好,如果从顶层一层层往下传反而有些麻烦,不如直接借助 Context 实现数据传递。

https://static001.geekbang.org/infoq/7e/7ed1d54b9c1def252b2d6fe6cfc8c342.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Go-Excelize API 源码阅读(二十二)——SetAppProps(appProperties *AppProperties)

用户头像
Regan Yue
2022-10-15

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带

C++ 学习 ---cstdio 的源码学习分析 07- 刷新文件流函数 fflush

用户头像
桑榆
2022-10-07

stdio.h中定义了一系列文件访问函数(fopen,fclose,fflush,freopen,setbuf,setvbuf),接下来我们一起来分析一下fflush对应的源码实现。

C++ 学习 ---cstdio 的源码学习分析 06- 关闭文件函数 fclose

用户头像
桑榆
2022-10-06

stdio.h中定义了一系列文件访问函数(fopen,fclose,fflush,freopen,setbuf,setvbuf),接下来我们一起来分析一下fclose对应的源码实现。

C++ 学习 ---cstdio 的源码学习分析 05- 打开文件函数 fopen

用户头像
桑榆
2022-10-05

stdio.h中定义了一系列文件访问函数(fopen,fclose,fflush,freopen,setbuf,setvbuf),接下来我们一起来分析一下fopen对应的源码实现。

C++ 学习 ---_IO_new_fdopen 函数原理分析学习

用户头像
桑榆
2022-10-04

_IO_new_fdopen是Glibc中fdopen函数的内部实现,接受fd和打开mode,返回文件流FILE指针。是stdio.h中比较重要的函数,我们来一起看看它的源码实现。

C++ 学习 ---__gen_tempname 函数原理分析学习

用户头像
桑榆
2022-09-22

__gen_tempname是Glibc库stdio.h头文件中生成临时文件名的函数,包含了相关临时文件名的生成逻辑,我们来一起分析一下临时文件名的生成过程。

https://static001.geekbang.org/infoq/ec/ec026e5d23d754880064a61324eddecd.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

FreeRTOS 记录(二、FreeRTOS 任务 API 认识和源码简析)

用户头像
矜辰所致
2022-09-05

在了解了基本的环境和框架之后,对FreeRTOS 的任务,消息队列,信号量,事件,软件定时器 这些基础的功能部分也得有个认识。 这篇文章主要介绍了一下关于任务的API以及源码的简单分析。

https://static001.geekbang.org/infoq/28/28ca3f3a4daabbad8372476ee49d2565.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Kubernetes 宕机切换源码分析

用户头像
黄继承
2022-08-13

K8s对于kubelet宕机迁移的处理在不同的版本有不同的演进,所以网上很多文章关于如何加快这个时间的说法并不一致,甚至有些检索出来没什么用处。

Go-Excelize API 源码阅读(三)——OpenReader()

用户头像
Regan Yue
2022-08-07

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带

【源码解析】MyBatis 动态 SQL

本部分说明了动态 SQL 语句中使用的 OGNL 表达式语言,动态 SQL 语句中占位符的处理逻辑。分析了 DynamicContext 对象源码,其中维护了解析动态 SQL 语句上下文信息;随后我还分析了组合模式,因为它是 MyBatis 组合各动态 SQL 节点的设计思想。

https://static001.geekbang.org/infoq/6f/6f964eafd8ebb489608dcb72e4aa3463.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

为什么 Spring Boot 项目加上就可以更新版本?

用户头像
冉然学Java
2022-08-03

最近 log4j2 的核弹级漏洞席卷了大部分互联网公司,升级版本成了这两周的核心任务。对于要升级到什么版本,最新版本 2.16.0 是最佳选择。那么如何快速升级,之前也给出了 Spring Boot项目升级版本的最简方法 。

https://static001.geekbang.org/infoq/b9/b9b700d68c69b07028636ad6c36ad2cf.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

敲了几万行源码后,我给 Mybatis 画了张“全地图”

用户头像
小傅哥
2022-06-20

傅哥手写Mybatis,怎么把Mybatis都给手写了!—— 就这么学源码,面试还是个事?

https://static001.geekbang.org/infoq/04/04c2727ef059bb6dd9ffa8a8737c748e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

《WebRTC 源码深入剖析》总结

我精心打造的新课 《WebRTC源码深入剖析》 终于更新完了!!!

https://static001.geekbang.org/infoq/63/6346dc5aba41251c2c2ef76f28a53ee0.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

《Mybatis 手撸专栏》第 9 章:细化 XML 语句构建器,完善静态 SQL 解析

用户头像
小傅哥
2022-05-24

《Mybatis 手撸专栏》已经更新到第9章节,逐步开始体现运用设计原则处理分治和抽象完成职责分离的过程,学习并领悟后,在以后的实际编码中,也能做出更有高度和适应未来迭代的架构设计。

https://static001.geekbang.org/infoq/73/731d650a56155dfe64b2b17fc68c5315.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

《Mybatis 手撸专栏》第 2 章:创建简单的映射器代理工厂

用户头像
小傅哥
2022-03-31

解耦映射器与数据库操作,给DAO接口生成代理类,包装数据库处理过程。

Flutter 事件响应源码分析

用户头像
得物技术
2022-03-23

Flutter作为一个UI框架,本身也有自己的事件处理方式,本文主要阐述触摸事件从native传递到Flutter后是如何被widget识别以及分发的。至于native系统是如何监听触摸事件以及传递事件到Flutter,感兴趣的可以自己去了解下不同的宿主系统处理的方式也是不同的。

源码分析_源码分析技术文章_InfoQ写作社区