JDK8中永久代向元空间的转换原因
解决方法:
1、字符串存在永久代中,容易出现性能问题和内存溢出。
2、类及方法的信息等比较难确定其大小(比如动态加载类时),因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出。
3、永久代会为GC垃圾回收带来不必要的复杂度,并且回收效率偏低。
4、Oracle未来可能会将HotSpot(jvm的实现,jdk就是使用了HotSpot的jvm)与Rockit合二为一。
JDK8中永久代向元空间的转换原因
解决方法:
1、字符串存在永久代中,容易出现性能问题和内存溢出。
2、类及方法的信息等比较难确定其大小(比如动态加载类时),因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出。
3、永久代会为GC垃圾回收带来不必要的复杂度,并且回收效率偏低。
4、Oracle未来可能会将HotSpot(jvm的实现,jdk就是使用了HotSpot的jvm)与Rockit合二为一。
有建议,请留言!