MST

星途 面试题库

面试题:Go语言中手动触发GC的场景及基本实现

在Go语言里,哪些场景下可能需要手动触发垃圾回收(GC)?请简述手动触发GC的基本代码实现方式。
29.0万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试

可能需要手动触发垃圾回收(GC)的场景

  1. 内存压力测试:在进行性能测试时,为了模拟高内存压力场景,观察系统在频繁垃圾回收情况下的表现,可能手动触发GC。
  2. 释放大量临时占用的内存:当程序中短时间内分配了大量内存,并且在某个特定时刻之后这些内存不再使用,手动触发GC可以尽快回收这些内存,避免长时间占用。

手动触发GC的基本代码实现方式

在Go语言中,可以使用runtime包中的GC函数来手动触发垃圾回收。示例代码如下:

package main

import (
    "fmt"
    "runtime"
)

func main() {
    // 手动触发垃圾回收
    runtime.GC()
    fmt.Println("垃圾回收已手动触发")
}

在上述代码中,通过调用runtime.GC()函数来手动触发垃圾回收操作。