当您的进程持续从操作系统分配内存,并且永远不会释放任何内存时,您最终将使用的内存比机器中的内存更多.此时,操作系统将首先更换为虚拟内存(降低性能),如果有任何操作,并且在某些时候,您的进程将达到操作系统无法再为其提供更多内存的程度,因为您已超出最大值可寻址空间量(32位操作系统上为4GB).
这种情况基本上有两个原因:你已经分配了内存并且你已经丢失了它的指针(它已经无法访问你的程序),所以你不能再释放它了.这就是大多数人所说的内存泄漏.或者,您可能只是分配内存而永远不会释放它,因为您的程序是懒惰的.这不是泄漏,但最终,你遇到的问题是相同的.