Kata kunci baru mengalokasikan memori pada tumpukan Java. Tumpukan adalah kumpulan memori utama, dapat diakses oleh seluruh aplikasi. Jika tidak ada cukup memori yang tersedia untuk dialokasikan untuk objek itu, JVM mencoba untuk mengambil kembali sebagian memori dari tumpukan dengan pengumpulan sampah. Jika masih tidak mendapatkan cukup memori, OutOfMemoryError dilempar, dan JVM keluar.
Tumpukan dibagi menjadi beberapa bagian yang berbeda, yang disebut generasi. Karena objek bertahan lebih banyak dari pengumpulan sampah, mereka dipromosikan ke generasi yang berbeda. Generasi yang lebih tua tidak sering mengumpulkan sampah. Karena benda-benda ini telah terbukti berumur panjang, mereka cenderung mengumpulkan sampah.
Ketika objek pertama kali dibangun, mereka dialokasikan di Ruang Eden. Jika mereka selamat dari pengumpulan sampah, mereka dipromosikan ke Ruang Selamat, dan jika mereka hidup cukup lama di sana, mereka dialokasikan ke Generasi Bertenor. Generasi ini lebih jarang mengumpulkan sampah.
Ada juga generasi keempat, yang disebut Generasi Permanen, atau PermGen. Objek yang berada di sini tidak memenuhi syarat untuk menjadi sampah yang dikumpulkan, dan biasanya berisi keadaan tidak berubah yang diperlukan untuk menjalankan JVM, seperti definisi kelas dan kumpulan konstanta String. Perhatikan bahwa ruang PermGen direncanakan akan dihapus dari Java 8, dan akan diganti dengan ruang baru yang disebut Metaspace, yang akan disimpan dalam memori asli. referensi :http://www.programcreek.com/2013/04/jvm-run-time-data-areas/