小编xia*_*ing的帖子

为什么不调用free()会减小堆的大小?

我们知道程序的堆栈在运行时会增长或缩小.在C程序中,当我们使用malloc()分配内存时,如果当前内存不够,它将调用sbrk()扩展堆大小.当我们free()用来释放已分配的内存时,它不会缩小堆.为什么收缩堆没有意义?

c memory-management

2
推荐指数
1
解决办法
1829
查看次数

使用变量args重载

class OverloadingVarargs2 {
    static void f(float i, Character... args) {
        System.out.println("first");
        System.out.println(i);
    }
    static void f(Character... args) {
        System.out.println("second");
    }
    static void test() {
        f(1, 'a');
        f('b', 'c'); // the method f is ambiguous
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码无法编译,编译器说f是不明确的.但我认为第二种方法可以匹配f('b', 'c');问题是什么?

java overloading

1
推荐指数
1
解决办法
754
查看次数

标签 统计

c ×1

java ×1

memory-management ×1

overloading ×1