源码:https://github.com/bluele/gcache[https://github.com/bluele/gcache] 多种淘汰策略,LRU、LFU、si...
源码:https://github.com/bluele/gcache[https://github.com/bluele/gcache] 多种淘汰策略,LRU、LFU、si...
源码学习 https://github.com/muesli/cache2go[https://github.com/muesli/cache2go] 一、简介 cache2...
一、应用场景 链路跟踪,业务需要传递上下游元信息; 主协程和子协程同步信号,减少计算资源的浪费。例如rpc调用时的超时控制。 二、使用示例 RPC超时控制 Context传递...
Channel是Golang实现CSP的核心。 基于channel通信主要涉及buf(数据)和sendq、recvq(维护阻塞的G),lock保证并发访问安全;本质是一个基于...
golang/groupcache[https://github.com/golang/groupcache] 用处 保护下游,针对下游的同一批请求,只有一个负责去请求,其他...
学习资料 理解 互联网协议入门(一)[http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_...
一、堆的基础知识 1.1 堆的内存布局 1.2 堆和栈的区别 栈主要用来维护函数调用的上下文,由高向低增长; 堆用来容纳程序动态分配的内存区域,使用malloc或new分配的...
可执行文件只有装载到内存以后才能被CPU执行。 一、装载的方式 页映射:将内存和磁盘中的数据和指令按照页为单位划分,以后装载和操作的单位就是页。4kb 二、程序的装载运行步骤...
一、相同的文件格式:ELF 目标文件:代码编译后未链接的文件(Linux的.o) 可执行文件 静态链接库(Linux的.a) 动态链接库(Linux的.so) 二、ELF文件...
示例代码:hello.c 1. 预处理 gcc –E hello.c –o hello.i 预处理过程主要处理源代码中以#开始的预编译指令,将要包含(include)的文件插...
编译过程分为6步:扫描(词法分析)、语法分析、语义分析、源代码优化、代码生成、目标代码优化。 示例代码:array[index] = (index + 4) * (2 + 6...
目录 一、map的操作 声明 map的零值为 nil 。nil 映射既没有键,也不能添加键。var m map[string]int 初始化//运行时初始化m = make(...