A nova palavra-chave aloca memória no heap Java. O heap é o pool principal de memória, acessível a todo o aplicativo. Se não houver memória suficiente disponível para alocar para esse objeto, a JVM tentará recuperar alguma memória da pilha com uma coleta de lixo. Se ainda não conseguir obter memória suficiente, um OutOfMemoryError será lançado e a JVM será encerrada.
O heap é dividido em várias seções diferentes, chamadas gerações. À medida que os objetos sobrevivem a mais coletas de lixo, eles são promovidos em diferentes gerações. As gerações mais velhas não são coletadas com frequência. Como esses objetos já provaram ter uma vida útil mais longa, é menos provável que sejam coletados como lixo.
Quando os objetos são construídos pela primeira vez, eles são alocados no Espaço Eden. Se sobreviverem a uma coleta de lixo, serão promovidos ao Survivor Space e, se viverem o suficiente por lá, serão alocados à Geração Tenured. Essa geração é coletada com muito menos frequência.
Há também uma quarta geração, chamada Geração Permanente, ou PermGen. Os objetos que residem aqui não são elegíveis para coleta de lixo e geralmente contêm um estado imutável necessário para a execução da JVM, como definições de classe e o conjunto constante de String. Observe que o espaço PermGen está planejado para ser removido do Java 8 e será substituído por um novo espaço chamado Metaspace, que será mantido na memória nativa. referência: http://www.programcreek.com/2013/04/jvm-run-time-data-areas/