1,JVM 内存主要分为堆内存和非堆内存:
堆内存:主要是给应用的
非堆内存:主要是给jvm自己用
2,堆内存主要分为:
年轻代:
老年代:
永久代:(JDK7 和 JDK8中不一样,JDK8中没有永久代,而是被替换成了 metadata 代,默认没有上限,也就是不会像jdk7中那样出现永久代爆满而出现宕机的情况,没有上限并不代表不能设置上限,可以像jdk7一样设置永久代内存上限)
3,对于 2 中的年轻代,又可以分为以下几种:
Eden代(伊甸园代)
survivor0代(0号幸存区)
survivor1代(1号幸存区)