Bootstrap

jdk8中JVM内存结构,元空间替代永久代,以及常量池的变化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
类多,jar包多,方法多,常量池的大小也会比较大,所以导致我们不是太容易确定到底我们应该开辟多大的永久代,用默认值的话,还是太小了,如果我们自己设置的话,空间太小则容易出现gc,fullgc的成本还是比较大的,导致stw的时间和次数就会比较多,会拖慢我们程序的性能,如果fullgc只有,这些类没有被及时回收,这些类还都得用,那就会出现oom,分配的空间大了,又有些浪费空间。
用本地内存的话,最大值没有限制,空间足够,fullgc的机会也比较少。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

;