以 git 为例,最安全的生成SSH命令大概就是: 但很多人偷懒,不设置 passphrase ,但其实这样很不安全。这里必须输入一个强 pas...
提到反射,不得不提到接口interface,这是一对双生子。简单来说:接口是反射的基石,而反射是接口在运行时的“透视镜”。 一、interfac...
如果你已经理解了 epoll 是什么,也看懂了 Golang 对它的封装,那我们现在就来回答一个更深的问题: 一个 goroutine 卡在 c...
一、epoll是什么? epoll是 Linux 内核中一种高性能的 I/O 多路复用机制。 如果你正在开发一个需要同时处理成千上万个客户端连接...
在 Go 的并发编程中,sync.Once 是一个非常经典的同步原语。它的作用很简单:保证某个函数在并发环境中只执行一次。无论有多少个 goro...
本质原因是 Map 底层是 Hash 表。 当你插入键值对时: 对 key 做 hash 运算 根据 hash 结果决定存到哪个 bucket ...
一、数据结构 defer的核心数据结构是: 可以看到这里有个链表指针,这就是defer后进先出 (LIFO)的原因,链表是用头插法构建的,后写的...
Golang 程序运行的时候,内存中的对象可以标记为三色:白色、灰色、黑色。 想象你是一个保洁阿姨(GC),你的任务是把房间里没人要的垃圾扔掉,...
sync.Map非常适合读多的场景,因为sync.Map的readonly部分是无锁读取,所以效率跟普通map差不多。如果用一句话来理解 syn...