حذف Permanent Generation (PermGen) space از JDK 7 اعلام شده بود (deprecated) و در JDK 8 نهایی شد و بصورت کلی حذف شد.
JDK 8 از یک روش native به نام Metaspace برای تخصیص حافظه استفاده می کند (شبیه Oracle JRockit و IBM JVM). در این روش دیگر نیازی به مشخص کردن مقدار حافظه نیست و در حقیقت دیگر خطای java.lang.OutOfMemoryError: PermGen را دریافت نمی کنید (البته این بدین معنی نیست که دیگر در برنامه های جاوا به memory leak بر نمی خوریم).
در حقیقت با استفاده از Metaspace، هر مقدار حافظه ای که JVM مجاز باشد از سیستم عامل بگیرد را استفاده می کند.
مطالعه بیشتر