Пространство PermGen заменяется на MetaSpace в Java 8. Аргументы JVM PermSize и MaxPermSize игнорируются, и выдается предупреждение, если оно присутствует при запуске.
Большинство выделений для метаданных класса теперь выделяются из собственной памяти. * Классы, которые использовались для описания метаданных класса, были удалены.
Основное различие между старым PermGen и новым MetaSpace состоит в том, что вам не нужно обязательно определять верхний предел использования памяти. Вы можете сохранить ограничение пространства MetaSpace неограниченным. Таким образом, при увеличении использования памяти вы не получите ошибку OutOfMemoryError. Вместо этого зарезервированная собственная память увеличивается, чтобы полностью заполнить увеличенное использование памяти.
Вы можете определить максимальный предел пространства для MetaSpace, а затем он выбросит OutOfMemoryError: пространство метаданных. Поэтому важно определить этот предел осторожно, чтобы избежать потери памяти.