An integral part of application behavior with JVMs is performance tuning. Many methods are in existence, and all involve trade-offs that aim to balance requirements for responsiveness, throughput, space, and available memory across a variety of levels of scale.
Typical of most performance tuning options is the need for extended application pauses, resulting from the requirement to compact the heap to free up space. This is one of the main drawbacks. A number of strategies are used to delay these events, but compaction cannot be avoided with most commercially available collectors except Azul C4, which actually can avoid pauses altogether.
Java developers can improve application performance and make more informed choices about performance tuning and garbage collection options by developing a deeper understanding of the tuning process.
For additional information about performance tuning options, download this white paper.