持久代:不会被 gc 给轻易回收的,创建后一直存在,持久代在堆内存里面,但是不归 java 程序使用.持久代是 动态 load 的那些 class,局部变量,去 gc 其实也 gc 不了啥 1.8 之前是 Perm Gen之后 ,1.8 之后 ,非堆就变成了 mate space,叫元组区,就放 load 的那些 class.mate space用的是本地内存,1.8之前用的是虚拟内存.(metaspace是非堆内存里面) # jstat -gcutil S0 S1 E O M CCS YGC…