Summary

The JVM is the engine for all Java-based applications. It has evolved tremendously over the years, enabling Java applications to execute faster and to be more memory-efficient. The JVM is good at setting its own default values using ergonomics based on the environment but often needs tuning as, for example, memory runs short or the JVM runs slow.

Memory areas for holding objects are the heap with its subareas, young generation—with Eden and the Survivor spaces S0 and S1—and old (tenured) generation. The size of these areas can be tuned individually and sometimes relative to each other, all to ensure that the best possible configuration for a specific application can be met.

The PermGen memory area is part of the heap but separately holds ...

Get WildFly Performance Tuning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.