Сегодня поговорим про память в JVM. Все знают про heap и stack. Начнем с них. 1) heap, она же куча. Хранит все создаваемые при работе JVM объекты. Очищается сборщиком мусора - garbage collector. Делится на поколения: Eden, Survivor и Tenured (Old), между которыми перемещаются выжившие при сборке мусора объекты. Кроме объектов начиная с Java 7 хранит также пул строк и другие пулы. Другие пулы - это пулы базовых типов-обверток над примитивами с фиксированным числом значений. Т.е. Boolean, Byte, Short, Integer, Long, Character...
Знаете, я люблю Майнкрафт. Честно. Я очень много времени отыграл на различных сборках и серверах и из-за этого познания в этой игре у меня довольно-таки обширные. И само собой, играть в хорошую игру хочется с хорошей производительностью, особенно когда твой монитор с частотой 144 гц (повыпендривался, да) - хочется раскрыть "потанцевал" плавности и стабильности. Но вот незадача - Майнкрафт, особенно с большим количеством модов, иногда дает недостаточную производительность и FPS может рухнуть, опять же, если вы играете с модами в мире с большим количеством механизмов...