Java Garbage Collectors

Wang Sihan

Abstract


The Java garbage collector is one of the important modules of the Java Virtual Machine (JVM). When an object has no references, it is considered "garbage". The memory space occupied by this object needs to be freed. The role of the Java garbage collector is to manage memory and release the memory occupied by this "garbage". This article introduces the main function and working principle of the Java garbage collector, focusing on three mainstream garbage collection algorithms and compares serial, parallel, and concurrent design choices. This article also introduces 7 garbage collectors in Java based on different algorithms and design choices: Serial, Serial Old, ParNew, Parallel, Scavenge, Parallel Old, CMS, and G1.

Full Text:

PDF

References


Microystems, S. U. N. "Memory Management in the Java HotSpot Virtual Machine." (2006): 41.

The Java® Virtual Machine Specification. Java SE 9 Edition. URL: https://docs.oracle.com/javase/specs/jvms/se9/jvms9.pdf (Retrieved: May 2022).

Lindholm, Tim, et al. The Java Virtual Machine Specification, Java SE 7 Edition: Java Virt Mach Spec Java_3. Addison-Wesley, 2013.

Pufek, P., Hrvoje Grgić, and Branko Mihaljević. "Analysis of garbage collection algorithms and memory management in java." 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). IEEE, 2019.

Bakunova O.M., et al. "Java memory model" Web of Scholar 1.6 (2018): 29-32. (in Russian)

Boehm, Hans-J., Alan J. Demers, and Scott Shenker. "Mostly parallel garbage collection." ACM SIGPLAN Notices 26.6 (1991): 157-164.

Domani, Tamar, et al. "Implementing an on-the-fly garbage collector for Java." ACM SIGPLAN Notices 36.1 (2000): 155-166.

Java Garbage Collection Basics [Online]. Available: URL:https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html (Retrieved: May 2022)

Domani, Tamar, Elliot K. Kolodner, and Erez Petrank. "A generational on-the-fly garbage collector for Java." Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation. 2000.

Soman, Sunil. "Modern Garbage Collection for Virtual Machines." Soman: Modern Garbage Collection for Virtual Machines: Univ of AC, Santa Barbara, Computer Science Dep't (2003).

Printezis, Tony, and David Detlefs. "A generational mostly-concurrent garbage collector." Proceedings of the 2nd international symposium on Memory management. 2000.

Detlefs, David, et al. "Garbage-first garbage collection." Proceedings of the 4th international symposium on Memory management. 2004.

Grgic, H., Branko Mihaljević, and Aleksander Radovan. "Comparison of garbage collectors in Java programming language." 2018 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). IEEE, 2018.

The Garbage First Garbage Collector [Online]. Available: https://www.oracle.com/java/technologies/javase/hotspot-garbage-collection.html (Retrieved: May 2022)

Tauro, M., et al. "CMS and G 1 Collector in Java 7 Hotspot: Overview, Comparisons and Performance Metrics." International Journal of Computer Applications 43.11 (2012).

Namiot, Dmitry, and Manfred Sneps-Sneppe. "On m2m software." International Journal of Open Information Technologies 2.6 (2014): 29-36.

Sneps-Sneppe, Manfred, and Dmitry Namiot. "About M2M standards and their possible extensions." 2012 2nd Baltic Congress on Future Internet Communications. IEEE, 2012.


Refbacks

  • There are currently no refbacks.


Abava  Absolutech Convergent 2020

ISSN: 2307-8162