Новое ключевое слово выделяет память в куче Java. Куча - это основной пул памяти, доступный для всего приложения. Если для этого объекта недостаточно памяти, JVM пытается освободить часть памяти из кучи с помощью сборки мусора. Если он все еще не может получить достаточно памяти, выдается ошибка OutOfMemoryError и JVM завершает работу.
Куча разбита на несколько разных разделов, называемых поколениями. Поскольку объекты выживают в большем количестве сборщиков мусора, они продвигаются в разные поколения. Старшие поколения не собирают мусор так часто. Поскольку эти объекты уже доказали свою долговечность, они с меньшей вероятностью будут собирать мусор.
Когда объекты впервые создаются, они размещаются в Пространстве Эдема. Если они выживают при сборе мусора, их переводят в Космос Выжившего, и если они живут там достаточно долго, они передаются Поколенному Штату. Это поколение мусора собирается гораздо реже.
Существует также четвертое поколение, называемое Перманентное поколение, или PermGen. Объекты, которые здесь находятся, не подлежат сборке мусора и обычно содержат неизменяемое состояние, необходимое для запуска JVM, например определения классов и пул констант String. Обратите внимание, что пространство PermGen планируется удалить из Java 8, и оно будет заменено новым пространством под названием Metaspace, которое будет храниться в собственной памяти.
ссылка: http://www.programcreek.com/2013/04/jvm-run-time-data-areas/