Summary
By now, you should have an appreciation of the complexities of the JVM and how it works. This chapter’s coverage included the javac
and javap
command-line tools to create and analyze bytecode. The JVM’s garbage collection function was also examined through the lens of application performance. Lastly, the optimization of JIT compilation was covered.
The JVM is 29 years old, as of this book’s publication date, and it has come a long way since its initial release. In addition to continual improvements and optimizations, the JVM can even support additional languages (for example, Kotlin and Scala). Java developers interested in continual performance improvement of their Java applications should stay abreast of JVM updates.
With a solid understanding of the JVM, we turn our focus to data structures in the next chapter. Our focus will be on using data structures optimally as part of our high-performance strategy.