虽然Java的版本是JDK1.8,但是JavaEE的版本是JDK1.7。就是说在JavaEE里面仍然必须要对永久代做出一些设置。永久代是在堆内存之中保存的,但是永久代不会被回收。例如:String中的intern方法产生的对象是不会被回收的。所以如果你的操作使用不当,会导致永久代中的数据量过大,那么这个时候程序依然会抛出OOM问题。
在JDK1,8之中设置永久代会出现错误提示:
现在对于永久代的设置你只需要知道这些参数即可。因为从整个内存关系来讲,真正可能使用到的操作严格来讲都在存活区和伊甸园区和老年代上。