2024 01 12
今日待办
- [事件 1]
- ...
今日相关项目
- [项目 1]
- [项目 2]
- ...
日常记录
- 14:55 #go/go语言设计与实现
go1.0之前线性内存设计导致的问题:
1. 分配的内存地址会发生冲突,导致堆的初始化和扩容失败
2. 没有被预留的大块内存可能会被分配给 C 语言的二进制,导致扩容后的堆不连续;
线性的堆内存需要预留大块的内存空间,但是申请大块的内存空间而不使用是不切实际的,不预留内存空间却会在特殊场景下造成程序崩溃。虽然连续内存的实现比较简单,但是这些问题也没有办法忽略。 - 14:57 #go/go语言设计与实现
稀疏内存是Go语言在1.11中提出的方案,使用稀疏内存布局不仅能排除堆大小的上限,还能解决C和Go混用时的地址空间冲突问题。 - 15:05 #go/go语言设计与实现
Go语言的内存分配器包含内存管理单元、线程缓存、中心缓存和页堆几个重要的组件。
今日任务
- [记录完成任务 1]
今日总结
[在这里写下你对今天的总结和感想]