go GC面试时被问到的问题

来源:1-5 项目作业

weixin_慕哥7532734

2021-06-30 23:00:44

  1. 有的变量暂时没有引用了。但是又不想GC把这部分变量回收掉应该怎么做?

  2. GC的回收周期是2分钟触发一次,我想延迟这个触发的时间或者加快触发时间应该怎么做

写回答

1回答

Xargin

2021-06-30

  1. 这个面试官没问好,不知道他是不是想考 sync.Pool 重用对象

  2. 2 分钟触发是指,最近 2 分钟内如果没有 gc 触发过,那就会触发,如果有因为 gc heap goal 触发的话,那这个 2 分钟逻辑是不会触发的。如果想主动触发 GC,可以手动调用 runtime.GC()

1
hargin
回复
heixin_慕哥7532734
hp>这个 keepalive 应该是很底层的库才会用

比如裸用 linux syscall 返回的 fd 的时候,应用层应该用的挺少的。。

h021-08-05
共4条回复

Go高级工程师实战营

慕课网与 GoCN 社区官方联手打造,定义行业Go高级人才培养标准,4个月,快速晋升为P6+/D7级高级人才。

458 学习 · 266 问题

查看课程