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

垃圾回收机制是什么 ?JVM 核心结构?

垃圾回收机制是什么

jvm的垃圾回收机制是GC(Garbage Collection),也叫垃圾收集器。GC基本原理:将内存中不再被使用的对象进行回收;GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、老年代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停。 不同的对象引用类型, GC会采用不同的方法进行回收,JVM对象的引用分为了四种类型:

1. 强引用:默认情况下,对象采用的均为强引用(这个对象的实例没有其他对象引用,GC时才会被回收)

2. 软引用:软引用是Java中提供的一种比较适合于缓存场景的应用(只有在内存不够用的情况下才会被GC)

3. 弱引用:在GC时一定会被GC回收

4. 虚引用:由于虚引用只是用来得知对象是否被GC//帮我去掉一些多余的字留下重要部分

JVM 核心结构

  1. 类加载器

    • 负责将.class文件加载到内存中,供 JVM 使用。

  2. 方法区

    • 存储类元数据(类名、字段、方法)、常量池、静态变量等。

    • JDK 8+:由元空间(Metaspace)替代,使用本地内存。

  3. Java 堆

    • 所有线程共享的内存区域,存放对象实例和数组。

    • 分代管理(新生代、老年代),通过垃圾回收自动清理。

  4. Java 栈

    • 线程私有内存,存储方法调用的栈帧(局部变量、操作数栈、动态链接)。

    • 常见异常:栈溢出(StackOverflowError)。

  5. 直接内存

    • 非堆内存,直接使用系统物理内存(如 NIO 缓冲区)。


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

相关文章:

  • Linux-进程概念
  • 麒麟服务器操作系统Sqlite部署手册
  • 笔记:代码随想录算法训练营day48:739. 每日温度\496.下一个更大元素 I\503.下一个更大元素II
  • 【专项测试】限流测试
  • Java算法OJ(12)
  • Vue 3 组件库主题化与可扩展性深度剖析:设计模式与实现策略 - 构建灵活适应多场景的组件库架构
  • Java缓存String(字符串常量池)、Integer (-128 到 127 )
  • 计算机基础:二进制基础12,十进制数转换为十六进制
  • 联想台式电脑启动项没有U盘
  • 【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力
  • 编程题《牛牛的链表删除》的python可以用非链表的方式
  • 某省政务信创案例:3阶段实施×5类工具链选型经验分享
  • Word 小黑第18套
  • 用DasViewer的时候3Dtiles 转osgb 可以直接指定目标坐标系吗?
  • 【c++】【智能指针】什么情况下不适合智能指针
  • C++之stack_queue扩展
  • 【VUE】day04-组件的生命周期、组件之间的数据共享、ref引用、购物车案例
  • Axure高级功能深度解析一一高效原型设计的利器
  • 怎样用Java实现快速排序与找到数组中第k小的值?
  • AI第一天 自我理解笔记--微调大模型