跳转至

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]

今日总结

[在这里写下你对今天的总结和感想]