1、堆划分
在JDK1.7以及之前的版本中,堆内存通常被分为三块区域:新生代、老年代、永久代。
新生代又分为:Eden区、From Survivor区(S0)、To Survivor区(S1)。默认8:1:1。
而在JDK1.8中情况发生了变化,把存放元数据中的永久内存从堆内存中移到了本地内存(native memory)中。
JDK1.8也提供了一个新的设置Matespace(元空间)内存大小的参数,通过这个参数可以设置Matespace内存大小,这样我们可以根据自己项目的实际情况,避免过度浪费本地内存,达到有效利用。