每天记录一道Java面试题---day39

GC如何判断对象可以被回收了

回答重点

  • 引用计数法:
    • 每个对象由一个引用计数属性,新增一个引用时计数器加1,引用释放时计数减1,计数为0时可以回收。
  • 可达性分析法:
    • 从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的,那么虚拟机就判断时可回收对象。
  • GC Roots的对象有:
    • 虚拟机栈中引用的对象
    • 方法区中类静态属性引用的对象
    • 方法区中常量引用的对象
    • 本地方法栈中JNI(Native方法)引用的对象
相关推荐
2601_950703942 分钟前
Spring IoC入门实战:XML与注解双解
java
带刺的坐椅2 分钟前
Snack JSONPath 项目架构分析
java·json·java8·jsonpath
周星星日记10 分钟前
vue3中静态提升和patchflag实现
前端·vue.js·面试
妙蛙种子31111 分钟前
【Java设计模式 | 创建者模式】 原型模式
java·开发语言·后端·设计模式·原型模式
Lyyaoo.19 分钟前
【JAVA基础面经】线程的状态
java·开发语言
Hello小赵19 分钟前
C语言如何自定义链接库——编译与调用
android·java·c语言
希望永不加班23 分钟前
SpringBoot 配置绑定:@ConfigurationProperties
java·spring boot·后端·spring
悟空码字25 分钟前
MySQL性能优化的天花板:10条你必须掌握的顶级SQL分析技巧
java·后端·mysql
xcjbqd027 分钟前
如何修改Oracle服务器默认的日期格式_NLS_DATE_FORMAT全局配置
jvm·数据库·python
indexsunny28 分钟前
互联网大厂Java面试实战:Spring Boot、MyBatis与Kafka在电商场景中的应用
java·spring boot·面试·kafka·mybatis·电商·技术栈