当前位置: 首页 > article >正文

【jvm】方法区是否存在GC

目录

          • 1. 说明

1. 说明
  • 1.方法区确实存在GC(垃圾回收)。
  • 2.在JVM(Java虚拟机)中,方法区是一个所有线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
  • 3.虽然方法区上的GC相对堆区来说较少,但在一定条件下,方法区也会进行垃圾回收。
  • 4.方法区的垃圾回收主要针对的是常量池的回收和已加载类的卸载。
  • 5.当方法区使用的内存超过其允许的大小时,就会抛出OutOfMemoryError异常,此时可能需要通过GC来释放一些内存空间。
  • 6.在Hotspot虚拟机中,方法区对应的是持久代(PermGen space,在JDK 8及之后被元空间Metaspace取代),尽管持久代上的GC较少,但并不代表完全没有。
  • 7.方法区进行垃圾回收的条件相对苛刻,通常需要满足以下条件之一:
    a.常量池中的常量没有被任何地方引用,可以被回收。
    b.该类所有的实例都已经被回收,即Java堆中不存在该类及其任何派生子类的实例。
    c.加载该类的类加载器已经被回收。
  • 8.这仅仅是“被允许”,并不意味着一定会回收。
  • 9.因为方法区的垃圾回收相对复杂,且对性能有一定影响,所以JVM通常会尽量避免频繁的方法区GC。

http://www.kler.cn/a/398962.html

相关文章:

  • gitlab 服务器集群配置及 存储扩展配置
  • 李秀贤主演警匪片《蓝色霹雳火》
  • 大数据如何助力干部选拔的公正性
  • ARM(安谋) China处理器
  • 【PYTORCH】使用MTCNN和InceptionResnetV1简单进行人脸检测和相似度匹配
  • 第三百二十三节 Java线程教程 - Java同步器
  • 2024年中国金融大模型产业发展洞察报告(附完整PDF下载)
  • 【售前方案】工业园区整体解决方案,智慧园区方案,智慧城市方案,智慧各类信息化方案(ppt原件)
  • 3D Gaussian Splatting 代码层理解之Part2
  • Spring Boot 牛刀小试 org.springframework.boot:spring-boot-maven-plugin:找不到类错误
  • 手写模拟Spring Boot自动配置功能
  • Minikube 上安装 Argo Workflow
  • 【进阶编程】 分层结构和横纵向编程接口的结合
  • C/C++基础知识复习(23)
  • 【GameFramework框架】8-3、已经开发完成的虚拟仿真程序如何接入GameFramework框架
  • 3步实现贪吃蛇
  • [Docker#11] 容器编排 | .yml | up | 实验: 部署WordPress
  • Axure设计之文本编辑器制作教程
  • 字节青训-小C的外卖超时判断、小C的排列询问
  • Centos 7 安装wget
  • Vue3 provide 和 inject的使用
  • 深度学习面试题二
  • JavaWeb--MySQL
  • 聚合查询(查询)
  • 使用 Prompt API 与您的对象聊天
  • [Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题