-
java8移除了永久代,增加了元空间。
1)java7以前的版本Hotspot的方法区位于永久代,并且永久代和堆是互相隔离的,但是他们使用的物理内存是连续的。
2)java8中方法区位于元空间,同时元空间不再与堆连续,而是存在于本地内存。 -
永久代被移除的原因
1)永久代使用的虚拟机内存,容易造成内存OOM异常,元空间直接使用本地内存,默认情况下元空间可以无线使用本地内存,只要本地内存足够,就不会出现OOM。
2) JRockit中没有永久代,移除永久代可以促进HotSpot JVM和JRockit VM的融合。
网友评论