湖南网站建设公司排行榜,做网站链接怎么弄,做风筝网站,中国建设银行网站-个人客户JVM永久代会发生垃圾回收吗
JVM的永久代#xff08;PermGen#xff09;在Java 8之前是存在的一部分#xff0c;主要用于存储类的元数据、常量池、静态变量等。在这些版本中#xff0c;永久代确实会发生垃圾回收#xff0c;尤其是在永久代空间不足或超过某个阈值时#x…JVM永久代会发生垃圾回收吗
JVM的永久代PermGen在Java 8之前是存在的一部分主要用于存储类的元数据、常量池、静态变量等。在这些版本中永久代确实会发生垃圾回收尤其是在永久代空间不足或超过某个阈值时会触发完全垃圾回收Full GC。这一过程主要是为了回收不再使用的类定义和其他可以被释放的资源以避免永久代的内存溢出。
但从Java 8开始永久代被元空间Metaspace所替代元空间使用的是直接的本地内存而不是虚拟机内存因此它不参与Java堆的垃圾回收过程。元空间的大小可以通过JVM参数进行调整并且当元空间耗尽时JVM会抛出OutOfMemoryError错误而不是像堆内存那样进行垃圾回收来释放空间。不过虽然元空间本身不进行垃圾回收但类加载器相关的无用类定义可以被卸载从而间接回收元空间的内存。 如果大家需要视频版本的讲解欢迎关注我的B站