javascript - 'memory leak'是什么?这是性能问题还是安全问题?

标签 javascript memory memory-leaks

我正在经历内存泄漏 link ,但是由于幻灯片我无法理解。有人可以举例说明什么是内存泄漏吗?这是性能问题还是安全问题?

最佳答案

通常内存泄漏会导致崩溃。如果您之前从未用 C 编写过代码,请尝试一下。您将学到很多有关内存分配和访问的知识。刚开始时的有趣时光。

与某些语言相比,在 C 语言中,您必须告诉计算机您何时需要内存以及需要多少内存。然后,当您不需要该内存时,您必须告诉它。所以,如果你想要一个 8 个字符的数组,那么你必须说你想要这 8 个字符的内存。如果您忘记告诉计算机您不再需要该内存,那么它将不会被释放。这是内存泄漏。如果您经常这样做,那么您可能会耗尽内存。

int main()
{
    int strLength = 10;
    // Lets ask for some memory for a string
    char *str = (char *)malloc(sizeof(char));
    for (int i=0; i<strLength; i++)
    {
         str[i] = 'a' + i;
    }
    str[strLength-1] = 0;
    // This should print "abcdefghi"
    printf(str);
    // We should run this to free memory: free(str);
    return 0;
}

上面的代码看起来并没有那么糟糕,但是如果你在循环中执行它,那么你会很快开始使用大量内存。

至于安全性:如果泄漏发生在防火墙之类的地方,并且泄漏可导致其崩溃,那么这就是一个安全问题。

关于javascript - 'memory leak'是什么?这是性能问题还是安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20744207/

相关文章:

javascript - 从回调函数内部返回 javascript 变量

c++ - Eigen 与 -O3 警告 : argument 1 value ‘X’ exceeds maximum object size Y

无法在 32 位 Linux 中耗尽物理内存

javascript - 如何在 JavaScript 中处理 DOM 元素以避免内存泄漏

iOS内存管理一头雾水

javascript - 如何改变对确认 JavaScript 按钮的强调?

javascript - 被卡住加载 react 故事书

javascript - 单击按钮停止启动功能

java - Android BitmapFactory.decodeResource 占用太多内存

python - 使用 Theano 在 CPU 上训练简单的 MLP 时,内存逐渐增加直至崩溃