The Customizable Memory Management (CMM) is a memory management facility (aka garbage collector) supporting complex memory-intensive applications in C++. The CMM can manage several heaps, each one implementing a different storage discipline.
The CMM has been developed to support the implementation of the Buchberger algorithm in the context of the European research project PoSSo (Polynomial System Solving) active from 1992 to 1995.
In 1994 it was used by Sun Microsystems in the development of the Oak programming language, later known as Java.