上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: NUMA架构是一种多处理器系统内存设计,提供本地内存访问和远程内存访问,用于提高处理器访问内存的速度。在服务器、虚拟化环境、HPC和多线程应用中广泛应用。优化方法包括进程绑定、缓冲池配置和开启NUMA优化功能。 阅读全文
posted @ 2024-03-29 19:58 pDJJq 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 虚拟内存使用基址加界限、基于段和基于页等不同方法进行地址转换。基址加界限简单但存在内存浪费,碎片问题;基于段实现内存保护和共享,但存在内部碎片和大小调整问题;基于页是现代操作系统常用的技术,通过页表完成地址映射,避免了段的缺点。 阅读全文
posted @ 2024-03-29 19:57 pDJJq 阅读(65) 评论(0) 推荐(0) 编辑
摘要: CPU Cache 架构 每个程序员都应该了解的内存知识.pdf - p22 - 每个程序员都应该了解的内存知识-P22-20240328112647 ​​ 每个程序员都应该了解的内存知识.pdf - p23 - 每个程序员都应该了解的内存知识-P23-20240328112807 ​​ 每个程序员 阅读全文
posted @ 2024-03-29 19:56 pDJJq 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 南桥&北桥&内存 结构 每个程序员都应该了解的内存知识.pdf - p5 - 每个程序员都应该了解的内存知识-P5-20240327103419 ​​ 功能 每个程序员都应该了解的内存知识.pdf - p5 - 每个程序员都应该了解的内存知识-P5-20240327104347 ​​ 北桥 主要是连 阅读全文
posted @ 2024-03-29 19:55 pDJJq 阅读(65) 评论(0) 推荐(0) 编辑
摘要: sync.Once sync.Once 因为Once实在是太常用了, 所以今天就对Once的源代码做一个简单的分析 package sync import ( "sync/atomic" ) type Once struct { done uint32 // 标识是否已运行 m Mutex } fu 阅读全文
posted @ 2024-03-28 04:28 pDJJq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: go: embed ​go:embed​ 是 Go 语言在其 1.16 版本中引入的一个新功能,它允许开发者在编译时将文件或文件夹嵌入到 Go 程序中。这样做可以简化资源文件的分发,因为它们会被编译到可执行文件里,避免了在运行时需要处理文件路径和分发额外文件的问题。 要使用 go:embed​,你需 阅读全文
posted @ 2024-03-27 20:09 pDJJq 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Go: bytebufferpool源码分析 项目地址: https://github.com/valyala/bytebufferpool 简介 bytebufferpool被广泛用于对于字节流的读取, 在gnet, fasthttp 等网络库中都有大量使用. 本文将探究其实现. 结构 项目主要分 阅读全文
posted @ 2024-03-26 16:26 pDJJq 阅读(15) 评论(0) 推荐(0) 编辑
摘要: go-buffer-pool go-buffer-pool package pool import ( "math" "math/bits" "sync" ) // GlobalPool is a static Pool for reusing byteslices of various sizes 阅读全文
posted @ 2024-03-26 16:24 pDJJq 阅读(11) 评论(0) 推荐(0) 编辑
摘要: MySQL中的MVCC 阅读全文
posted @ 2024-03-25 11:32 pDJJq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 跳表与二叉搜索树 跳表与二叉搜索树 本文探索跳表与二叉搜索树的一些相似之处, 以此来加深对跳表结构的深入理解 适用场景 跳表在Redis中有比较广泛的使用Redis 技术要点 我们可以认定跳表本质上就是一个平衡二叉搜索树, 跳表的目标是为了能够快速的定位key所在的index 所以可以认定的是跳表的 阅读全文
posted @ 2024-03-24 15:40 pDJJq 阅读(11) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 下一页