JVM Internals and Its Impact on Application Performance
DOI:
https://doi.org/10.32628/CSEIT25111216Keywords:
JVM Optimization, Garbage Collection, Memory Management, Thread Contention, Performance TuningAbstract
This comprehensive article explores the intricacies of Java Virtual Machine (JVM) internals and their critical impact on application performance in enterprise environments. The article examines core components including garbage collection mechanisms, memory management strategies, and threading models, providing detailed insights into how these elements affect overall system behavior. The article carefully examines various garbage collectors, memory allocation patterns, and thread contention scenarios, revealing key optimization strategies and their practical implications. The article encompasses real-world case studies, particularly focusing on e-commerce platforms, while also evaluating the effectiveness of diagnostic tools and monitoring solutions. By analyzing performance metrics across different operational scenarios, the article demonstrates how proper JVM tuning can significantly enhance application performance, reduce resource utilization, and improve system stability in production environments.
Downloads
References
New Relic, "2024 State of the Java Ecosystem," New Relic Technical Publications, May 2024. [Online]. Available: https://newrelic.com/sites/default/files/2024-05/new-relic-state-of-the-java-ecosystem-2024-05-29.pdf
Darlan Noetzold, Anubis Graciela, et al., "JVM optimization: An empirical analysis of JVM configurations for enhanced web application performance," SoftwareX, Volume 28, December 2024, 101933, 2024. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S2352711024003030 DOI: https://doi.org/10.1016/j.softx.2024.101933
Semih Sahin; Wenqi Cao, et al., "JVM Configuration Management and Its Performance Impact for Big Data Applications," IEEE International Congress on Big Data (BigData Congress), 2016. DOI: 10.1109/TSE.2016.2584054. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/7584970 DOI: https://doi.org/10.1109/BigDataCongress.2016.64
Paula Pufek, "Analysis of Garbage Collection Algorithms and Memory Management in Java," 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). [Online]. Available: https://www.researchgate.net/publication/334417726_Analysis_of_Garbage_Collection_Algorithms_and_Memory_Management_in_Java DOI: https://doi.org/10.23919/MIPRO.2019.8756844
Mohammadreza Ghanavati, Diego Costa, et al., "Memory and resource leak defects and their repairs in Java projects," Empirical Software Engineering, Volume 25, Issue 1, 2020. [Online]. Available: https://dl.acm.org/doi/10.1007/s10664-019-09731-8 DOI: https://doi.org/10.1007/s10664-019-09731-8
A. Corsaro; C. Santoro, et al., "The analysis and evaluation of design patterns for distributed real-time Java software," IEEE Conference on Emerging Technologies and Factory Automation, 2005. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/1612614
Cosimo Laneve, et al., "A type system for JVM threads," Theoretical Computer Science, Volume 290, Issue 1, 1 January 2003, Pages 741-778. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0304397502003304 DOI: https://doi.org/10.1016/S0304-3975(02)00330-4
John Hatcliff, James Corbett, et al., "A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives," in Concurrent Object-Oriented Programming and Petri Nets, Springer, Berlin, Heidelberg, pp. 191-211, 2001. [Online]. Available: https://link.springer.com/chapter/10.1007/3-540-48294-6_1
Chong Kam Mun; G.S.V.R. KrishnaRao, "Performance Optimization of Java Virtual Machine on Dual-Core Technology for Web Services - A Study," IEEE The 9th International Conference on Advanced Communication Technology, 2007. [Online]. Available: https://ieeexplore.ieee.org/document/4195198
S. Orlando; S. Russo, et al., "Java Virtual Machine monitoring for dependability benchmarking," Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06), 2006. [Online]. Available: https://ieeexplore.ieee.org/document/1630510
Anastasios Antoniadis, et al., "Static Analysis of Java Enterprise Applications: Frameworks and Caches, the Elephants in the Room," PLDI ’20, June 15ś20, 2020, London, UK. [Online]. Available: https://yanniss.github.io/enterprise-pldi20.pdf DOI: https://doi.org/10.1145/zenodo.3742711
M. Harkema, D. Quartel, et al., "Performance monitoring of java applications," WOSP '02: Proceedings of the 3rd international workshop on Software and performance, 2002. [Online]. Available: https://dl.acm.org/doi/10.1145/584369.584388 DOI: https://doi.org/10.1145/584385.584388
G. Vijayakumar, R.K. Bharathi, et al., "Predicting JVM Parameters for Performance Tuning Using Different Regression Algorithms," IEEE Fourth International Conference on Emerging Research in Electronics, Computer Science and Technology (ICERECT), 2022. [Online]. Available: https://ieeexplore.ieee.org/document/10060788 DOI: https://doi.org/10.1109/ICERECT56837.2022.10060788
Authors: Gui Huang, Xuntao Cheng, et al., "X-Engine: An Optimized Storage Engine for Large-scale E-commerce Transaction Processing," SIGMOD '19: Proceedings of the 2019 International Conference on Management of Data, 2019. [Online]. Available: https://dl.acm.org/doi/abs/10.1145/3299869.3314041
T.-K. Liu, Santhosh Kumaran, et al., "Performance engineering of a Java-based e-commerce system," IEEE International Conference on e-Technology, e-Commerce and e-Service, 2004. EEE '04. 2004. [Online]. Available: https://ieeexplore.ieee.org/abstract/document/1287286 DOI: https://doi.org/10.1109/EEE.2004.1287286
Downloads
Published
Issue
Section
License
Copyright (c) 2025 International Journal of Scientific Research in Computer Science, Engineering and Information Technology
This work is licensed under a Creative Commons Attribution 4.0 International License.