写点什么

源码阅读

1 人感兴趣 · 86 次引用

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

kubernetes delta_fifo 源码解析

kubernetes delta_fifo在实现先入先出队列思路上与kubernetes fifo类似,但其支持与key相关联事件入队,保存多个事件,是informer机制的基础

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

kubernetes fifo 源码解析

kubernetes fifo是一个先入先出队列,实现了Add、Update、Delete、Get、Pop等基本API,以及Replace、HasSynced等API,值得我们学习借鉴

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

kubernetes indexer 源码解析

kubernetes indexer是实现了多索引的本地缓存,在实现思路,特别在代码可复用方面,值得我们学习借鉴

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

「 Java 基础 - 泛型 」一文说清 Java 泛型中的通配符 T、E、K、V、N、?和 Object 的区别和含义

当我们在阅读源码的时候通常会看到如下所示代码中存在“E”、“T”或“?”,那么,这些大写字母到底有着怎样的含义呢?接下来我们具体讨论一下。

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

真希望你也明白 runtime.Map 和 sync.Map

One of the most useful data structures in computer science is the hash table. Many hash table implementations exist with varying properties, but in general they offer fast lookups, adds, and deletes. Go provides a built-in map type that im

详解 ConCurrentHashMap 源码(jdk1.8)

用户头像
Jeremy Lai
2022-12-01

ConCurrentHashMap是一个支持高并发集合,常用的集合之一,在jdk1.8中ConCurrentHashMap的结构和操作和HashMap都很类似:

TiKV 源码阅读三部曲(三)写流程

用户头像
PingCAP
2022-11-16

TiKV 是一个支持事务的分布式 Key-Value 数据库,目前已经是 CNCF 基金会 的顶级项目。

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

Go-Excelize API 源码阅读(二十一)——GetDefinedName()、DeleteDefinedName()

用户头像
Regan Yue
2022-10-15

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

C++ 学习 ---__libc_open 函数的原理

用户头像
桑榆
2022-09-21

__libc_open是glibc中openat接口的封装,针对给定的file路径,打开文件,生成一个文件描述符fd。可以创建文件/创建临时文件/打开已有文件。在很多IO接口函数中都有使用到,我们来一起看看它的实现原理。

C++ 学习 ---cstdio 的源码学习分析 04- 创建临时文件函数 tmpfile

用户头像
桑榆
2022-09-20

stdio.h中定义了文件删除函数remove,文件重命名函数rename,创建临时文件函数tmpfile,生成临时文件名函数tmpnam。接下来我们一起来分析一下tmpfile对应的源码实现。

C++ 学习 ---_IO_lock_t 的源码学习

用户头像
桑榆
2022-09-19

_IO_lock_t是GLibc库中广泛用于IO读取的锁,关于它的结构体,相关的函数使用是相当有研究价值的,尤其是使用了大量的宏技术。我们就来深入分析学习一下_IO_lock_t的实现机制

C++ 学习 ---cstdio 的源码学习分析 03- 文件重命名函数 rename

用户头像
桑榆
2022-09-18

stdio.h中定义了文件删除函数remove,文件重命名函数rename,打开临时文件函数tmpfile,生成临时文件名函数tmpnam。接下来我们一起来分析一下rename对应的源码实现。

C++ 学习 ---cstdio 的源码学习分析 02- 文件删除函数 remove

用户头像
桑榆
2022-09-17

stdio.h中定义了文件删除函数remove,文件重命名函数rename,打开临时文件函数tmpfile,生成临时文件名函数tmpnam。接下来我们一起来分析一下remove对应的源码实现。

C++ 学习 ---cstdio 的源码学习分析 01- 类型定义

用户头像
桑榆
2022-09-16

cstdio文件是C++对stdio.h头文件的封装,Standard Input and Output Library,定义了一系列标准输入输出函数,包括文件操作(fopen/fclose等),格式化打印(printf/scanf)等。通过该文件的学习,我们能够洞悉一些底层机制的本质

C++ 学习 ---STL 中 nullptr_t 的实现原理

用户头像
桑榆
2022-09-15

nullptr_t/nullptr是对C语言中NULL的替代,C语言中NULL通常定义为0或(void*)0,无法很好地处理与C++相关的环境,比如类指针的转换、赋值、比较等,容易出现异常。我们来分析一下C++STL中是如何定义nullptr的,学习STL相关的编程技法。

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

SpringBoot 源码 | refreshContext 方法解析

本文主要讲述SpringBoot启动流程源码中的refreshContext()方法

C++ 学习 ---cstdbool 和 cstddef 源码学习分析

用户头像
桑榆
2022-09-14

cstdbool是C++对stdbool.h头文件的封装,里面定义了与bool变量相关的宏; cstddef是C++对stddef.h头文件的封装,里面定义一些特殊类型(如size_t),有用的宏函数(offsetof)。我们就一一来看一看源码实现。

C++ 学习 ------csetjmp 头文件的源码学习

用户头像
桑榆
2022-09-13

csetjmp是C++对setjmp.h头文件的封装,通过这个头文件提供的工具允许程序员通过提供执行跳转的方法来绕过正常的函数调用和返回规程,从而保留调用环境。其中定义了一些函数和宏定义来完成这项工作。

C++ 学习 --- 变长参数(stdarg.h)的实现原理

用户头像
桑榆
2022-09-12

C++ 中对stdarg.h头文件进行了封装,该头文件实现了函数变长参数,能够在定义函数时不必完全指定参数个数,而编译器能够在代码编译时,拿到所有的参数,并进行相应的处理。

C++ 学习 ------cmath 头文件的源码学习 04

用户头像
桑榆
2022-09-11

cmath头文件比较函数、绝对值函数、最值函数的定义与功能分析。

C++ 学习 ------cmath 头文件的源码学习 03

用户头像
桑榆
2022-09-10

cmath头文件中宏函数isnan、isnormal、signbit实现

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

SpringBoot 源码 | prepareContext 方法解析

主要讲述SpringBoot启动流程源码中的prepareContext()方法

C++ 学习 ------cmath 头文件的源码学习 01

用户头像
桑榆
2022-09-08

cmath是C++对math.h头文件的封装,里面定义了一系列的数学函数,用来进行通用的数学计算和转换。我们来看看其中的类型定义与fpclassify函数源码。

C++ 学习 ------clocale 头文件的源码学习

用户头像
桑榆
2022-09-07

clocale是C++对locale.h头文件的封装,该文件是本地化的特殊设置,比如特殊的时间日期打印格式,货币符号等。我们来看看它的具体实现。

TiFlash 源码解读(八)TiFlash 表达式的实现与设计

用户头像
PingCAP
2022-09-06

表达式是承载 SQL 大部分逻辑的一个重要部分。SQL 中的表达式和编程语言中的表达式并没有差异。表达式可以大致分为函数、常量、列引用。如 select a + 1 from table 中的 a + 1 是一个表达式,其中 + 是函数,1 是常量,a 是列引用。

源码阅读_源码阅读技术文章_InfoQ写作社区