go语言的时候垃圾回收,写代码的时候如何减少小对象分配

参考解析

题目来源:腾讯

答案:

go垃圾回收GC触发条件

自动垃圾回收的触发条件有两个:

  1. 超过内存大小阈值
  2. 达到定时时间

阈值是由一个gcpercent的变量控制的,当新分配的内存占已在使用中的内存的比例超过gcprecent时就会触发。比如一次回收完毕后,内存的使用量为5M,那么下次回收的时机则是内存分配达到10M的时候。也就是说,并不是内存分配越多,垃圾回收频率越高。 如果一直达不到内存大小的阈值呢?这个时候GC就会被定时时间触发,比如一直达不到10M,那就定时(默认2min触发一次)触发一次GC保证资源的回收。

作者:CodeWithTxT
链接:https://juejin.cn/post/6844903917650722829