This series of articles will help any Performance Engineer or Java developer learn more about the underlying layers of the JVM and what a JVM really does under the hood. The author Eva Andreasson (at JavaWorld.com) talks at a high level about the key components of a Java Virtual Machine with a focus on Garbage Collection, Garbage Collection Algorithms, Compiler flavors including JVM optimizations for performance and scalability. The author Eva Andreasson also discusses why Java benchmarking is so difficult offering tips to consider when measuring performance. Finally she touches upon some of the later innovations in JVM and GC technology, including highlights from Azul’s Zing JVM, IBM JVM, and Oracle’s Garbage First (G1) garbage collector.
Please note this article was published by Java World in 2012, so some of this information cutting edge at that time would now be possibly out of date. The concepts however remain quite relevant and make a great read. We hope the series of articles will give you a better understanding of Java Virtual Machines, what makes them tick, the important of Garbage Collection tuning v/w Actual application bottleneck tuning, what to focus on when it comes to performance and scalability and various different compiler and Garbage Collection algorithms that are available for use.
- JVM performance optimization, Part 1: A JVM technology primer
- JVM Performance Optimization, Part 2: Compilers
- JVM Performance Optimization, Part 3: Garbage Collection
- JVM Performance Optimization, Part 4: C4 Garbage Collection for Low Latency Applications
- JVM Performance Optimization, Part 5: Is Java Scalability an Oxymoron
These series of articles are available at JavaWorld and authored by Eva Andreasson. We found the language used in these articles very easy to understand. The author has done an amazing job communicating the various concepts in a manner that anyone with basic technical understanding of Java should have no problem picking up.
Keen to learn more about how Java Virtual Machine works, Garbage Collection Tuning, GC Algorithms, etc. then check out the following links below:
- Understanding Java Garbage Collection
- Principles of Java Application Performance Tuning
- Oracle JVM Garbage Collection Tuning
- The Azul C4 Pauseless Garbage Collector
- Pick Up Performance With Generational Garbage Collection
- Are your Garbage Collection Logs Speaking to you
- Troubleshooting Enterprise Java Application Performance