本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

go垃圾回收

一、gc触发条件

主要有两个:

1.超过内存大小阈值

比如一次回收完毕后,内存的使用量为5M,那么下次回收的时机则是内存分配达到10M的时候

2.达到定时时间

如果一直达不到内存大小,这个时候GC就会被定时时间触发,默认2min触发一次,保证资源的回收

二、go中如何进行gc调优

1.减少对象的分配,合理重复利用

2.避免string和[]byte转化

string和[]byte转化的时候,底层数据结结构会进行复制,导致 gc效率会变低

3.尽量少使用+拼接字符串

针对他的每一个操作都会创建一个新的string,可以用 strings.Join代替

4.尽量避免频繁创建对象(&abc{}、new(abc{})、make())

5.程序开发阶段关注请求响应时间,每个功能优化一点时间,很多功能就很客观了

1636人已阅读,今天你学习了吗?

添加新回复