A condition caused by a program that does not free up the extra memory it allocates. In programming languages, such as C/C++, the programmer can dynamically allocate additional memory to hold data and variables that are required for the moment, but not used throughout the program. When those memory areas are no longer needed, the programmer must remember to deallocate them.
When memory is allocated, but not deallocated, a memory leak occurs (the memory has leaked out of the computer). If too many memory leaks occur, they can usurp all of memory and bring everything to a halt or slow the processing considerably. In other environments, such as Java, the operating system allocates and deallocates memory automatically. Specifically allocating and deallocating memory, while error prone (in case one forgets to deallocate), allows the programmer more control over the computer's resources. See garbage collection.
Download Computer Desktop Encyclopedia to your PC, iPhone or Android.
THIS DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2012 The Computer Language Company Inc. All rights reserved.