- Golang 测试代码:
import (
"fmt"
"time"
)
func main() {
for i := 0; i < 10; i++ {
c := make([]int32, 0, 1000000000)
fmt.Println(len(c))
}
fmt.Println("====ok====")
time.Sleep(60 * time.Second)
}
- Java 测试代码:
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
public class TestArray {
public static void main(String[] args) throws InterruptedException {
for (int i = 0; i < 10; i++) {
ArrayList<Integer> al = new ArrayList<Integer>(1000000000);
System.out.println(al.size());
}
System.out.println("====ok====");
TimeUnit.MINUTES.sleep(1);
}
}
这两个在做完 for 循环后,停顿一分钟内存依然没被回收。