¿Cuál es la diferencia entre PermGen y Metaspace?

Hasta Java 7, había un área en la memoria de JVM llamada PermGen , donde JVM solía mantener sus clases. En Java 8 fue eliminado y reemplazado por un área llamada Metaspace . ¿Cuáles son las diferencias más importantes entre PermGen y Metaspace? La única diferencia que sé es que...