MongoDB 背景 MongoDB 是一款功能完善的分布式文档数据库,是一款非常出名的 NoSQL 数据库。当前国内使用 Mongodb 的大型实践越来越多,MongoDB 为我司提供了重要的数据库
并发经典场景 Go 并发编程的场景中,有一个特别经典的场景,就是并发创建对象的时候。一般伪代码如下: if ( /* 如果对象不存在 */) { // 那么就创建对象 } 因为
cp 引发的思考 cp 是啥 ? 是的,就是 Linux 是 Linux 下最常用的命令之一,copy 的简写,小伙伴 100% 都用过。 cp 命令处于 Coreutils 库里,是 GNU 项目维护的一个核心项目,提供 Linux
奇闻轶事 Linux 作者 Linus Torvalds 在 5.12 合并窗口开启两周之后发布了 Kernel 5.12-rc1 版本,在邮件列表里 Linus Torvalds 爆料自己经历了六天没有电的生活。 “So I was actually without electricity for six days of the merge window, and was
前情提要 上次我们从使用层面做了梳理分析,得到以下几点小知识: sync.Pool 本质用途是增加临时对象的重用率,减少 GC 负担; 不能对 Pool.Get 出来的对象做预判,有可能是
Go 并发相关库 sync 里面有一个有趣的 package Pool,sync.Pool 是个有趣的库,用很少的代码实现了很巧的功能。 第一眼看到 Pool 这个名字,就让人想到池子
Go 1.16 距离上个 Go 1.15 版本差不多 6 个月,所以这个版本迭代速度还是挺快的。本次更新没有对语言本身做变更,主要更新的是工具链,运行时( runtime ),标准库的一
上一次从使用姿势和特性上分析了 defer 关键字,让我们对此有个形象的概念,然后剖析了函数调用的本质原理,接下来剖析就是真正 defer 这个关键字背后的原理了。
本篇文章是深入剖析 golang 的 defer 的基础知识准备,如果要完全理解 defer ,避免踩坑,这个章节的基础知识必不可少。我们先复习一个最基础的知识 —— 函数调用。这个
Golang 的 defer 是什么?通俗来讲就是延迟调用。defer 会在当前函数返回之前执行 defer 注册的函数。比如 defer func_x( ) 这样语句会让你注册一个函数变量到 defer 的全局链表中
2019 年纠结许久,得偿所愿回到成都。2020,春夏之季天府三街沿路的花香,秋冬之季四处的桂花香和金黄的银杏,都令人惬意。吃的方面,各种川菜、烤鱼
背景 Go 语言最大的特殊就是高并发能力,以 Goroutine 协程为执行体充分利用现代处理器的计算能力,但是并发机制也带来了协程并发安全的问题。现代处理器都是多级