Heap size is important to Java application performance. Tuning the heap is a multistep process. First, we'll look at the big picture, with gross tuning steps that optimize the size of the heap, followed by advice for fine-tuning the heap. Next, we'll look at the impact of shared memory on tuning the heap.