Treballs Finals de Grau d'Enginyeria Informàtica, Facultat de Matemàtiques, Universitat de Barcelona, Any: 2017, Director: Lluís Garrido Ostermann
In some programming languages is well known they have an automatic memory management, like Java and Python, in spite of C, where the programmer manages that.
Precisely Java has an internal proccess, known as the Garbage Collector, available in the Java Virtual Machine.
Garbage Collector is responsible to freeing memory while the execution is on, when objects are being created and allocated to one memory, Heap.
Some applications have been developed with a unic goal, study, analize and try to optimize the results obtained by the GC. To achieve that, there has been a study about GC and how does it work.
The report has confirmed that applications with a medium-large data set running on a multicore machine, Parallel GC is the one GC with better results as long as the generations are kept balanced.
OpenJDK has some internal tools, and those tools have been used to test the GC, to monitor CPU usage and its threads, as well as the number of allocations made.