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

java判断对象是否还在被引用

1、代码取消强引用后,gc回收对象

public static void main(String[] args) {Object obj = new Object();WeakReference<Object> weakRef = new WeakReference<>(obj);System.out.println(weakRef.get());obj = null; // 取消强引用,后续gc会被回收,如果不设为null取消强引用,gc也无法回收System.gc(); // 提示垃圾回收器进行回收System.out.println(weakRef.get());// 判断对象是否被回收if (weakRef.get() == null) {System.out.println("对象已经被回收");} else {System.out.println("对象仍然存在");}}

在这里插入图片描述

2、不取消强引用,gc无法回收

 public static void main(String[] args) {Object obj = new Object();WeakReference<Object> weakRef = new WeakReference<>(obj);System.out.println(weakRef.get());System.gc(); // 提示垃圾回收器进行回收System.out.println(weakRef.get());// 判断对象是否被回收if (weakRef.get() == null) {System.out.println("对象已经被回收");} else {System.out.println("对象仍然存在");}}

在这里插入图片描述

3、总结,将对象设置为null可结束强引用,保证能够被回收。

相关文章:

  • 【设计模式】装饰器模式(结构型)⭐⭐
  • linux常用命令及其选项
  • 手撸一个java网关框架
  • STM32使用HAL库时 UART ErrorCode
  • PowerDesigner导入Excel模板生成数据表
  • 鸿蒙开发接口数据管理:【@ohos.data.rdb (关系型数据库)】
  • Java 请求头加header
  • Kubernetes 二进制安装
  • LeetCode322.零钱兑换
  • 结构体(c++语言)
  • PDF分页处理:技术与实践
  • 千益畅行,共享旅游卡,满足您多样化的同行出行需求
  • Web考试前端等级:深度剖析与实战攻略
  • 搭建python虚拟环境,并在VSCode中使用
  • 让你的TypeScript代码更优雅,这10个特性你需要了解下
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • bearychat的java client
  • CEF与代理
  • CSS 三角实现
  • Git 使用集
  • HTTP那些事
  • IDEA常用插件整理
  • JavaScript学习总结——原型
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Leetcode 27 Remove Element
  • Mybatis初体验
  • PHP CLI应用的调试原理
  • 分享一份非常强势的Android面试题
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 自定义函数
  • AI算硅基生命吗,为什么?
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C语言)二分查找 超详细
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (接口自动化)Python3操作MySQL数据库
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • ./configure,make,make install的作用(转)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET简谈设计模式之(单件模式)
  • .NET企业级应用架构设计系列之结尾篇
  • .php文件都打不开,打不开php文件怎么办
  • /bin/rm: 参数列表过长"的解决办法
  • @Autowired 与@Resource的区别
  • @TableLogic注解说明,以及对增删改查的影响
  • [Android]常见的数据传递方式
  • [DM复习]关联规则挖掘(下)
  • [EFI]Atermiter X99 Turbo D4 E5-2630v3电脑 Hackintosh 黑苹果efi引导文件
  • [EFI]Lenovo ThinkPad X280电脑 Hackintosh 黑苹果引导文件
  • [EWS]查找 文件夹
  • [idea]关于idea开发乱码的配置