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

Java 内存泄漏原因(长生命周期的对象持有短生命周期对象的引用、未正确关闭资源等)

Java 内存泄漏原因

  1. 长生命周期的对象持有短生命周期对象的引用:例如,静态集合不断添加对象而不清理
privatestaticfinalList<byte[]>cache=newArrayList<>();voidadd(){cache.add(newbyte[1024*1024]);}
  1. 未正确关闭资源:例如,数据库连接、文件流、网络连接未关闭
FileInputStreamfileInputStream=null;try{fileInputStream=newFileInputStream("target.txt");}catch(IOExceptione){e.printStackTrace();}
  1. 内部类持有外部类引用:非静态内部类持有外部类实例,若内部类生命周期更长,会导致外部类无法释放
publicclassOuter{privateStringvalue="Outer";classInner{voidprint(){System.out.println(value);}@Overrideprotectedvoidfinalize()throwsThrowable{System.out.println("Inner 对象被回收");super.finalize();}}@Overrideprotectedvoidfinalize()throwsThrowable{System.out.println("Outer 对象被回收");super.finalize();}}
publicclassTest{publicstaticvoidmain(String[]args){Outerouter=newOuter();Outer.Innerinner=outer.newInner();inner.print();System.out.println("----- outer 被设置为 null");outer=null;System.gc();try{Thread.sleep(10*1000);}catch(InterruptedExceptione){e.printStackTrace();}System.out.println("----- inner 被设置为 null");inner=null;System.gc();try{Thread.sleep(10*1000);}catch(InterruptedExceptione){e.printStackTrace();}}}
# 输出结果 Outer ----- outer 被设置为 null ----- inner 被设置为 null Inner 对象被回收 Outer 对象被回收
  1. 不合理的作用域:将局部变量提升为静态变量,意外延长对象生命周期

  2. 监听器或回调未注销:注册了监听器或回调,但是缺少移除方法

  3. ThreadLocal 使用不当:例如,线程池的线程复用时,ThreadLocal 未及时调用 remove 方法,导致数据残留

http://www.jsqmd.com/news/362359/

相关文章:

  • 2026国内最新孕期护理公司top3推荐!服务深度覆盖广州、天河、黄埔等地,优质月子中心权威榜单发布,科学护理助力母婴健康 - 品牌推荐2026
  • 2025长沙文旅10大热门需求实测推荐:青天寨农庄,丛林飞跃(树上探险)/亲子游首选(2026干货汇总) - 资讯焦点
  • AI时代的“工具自由“:我是如何进入细糠时代的
  • Swisse的“蓝帽子难红”
  • 中国十大品牌冬虫夏草综合实测排名,锁鲜工艺与品质双维度深评 - 资讯焦点
  • 数字孪生+AI:某世界级物联网企业-产线数智化升级,点亮智造之路v
  • 江苏做产品洞察哪家靠谱?竞品追踪、知识图谱研判与实时趋势洞察深度对比(附选型指南) - 资讯焦点
  • 防关联浏览器和VPS哪个好用?不了解的一定要看看! - Roxy指纹浏览器
  • 2026十大优质图片素材网站推荐,涵盖高清免费可下载图库、商用图片购买网站 - 品牌2026
  • 灵芝孢子油哪个牌子最好最正宗?2026十大领军品牌揭晓,央视聚焦的高含量优品盘点 - 资讯焦点
  • 一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
  • 73、IMX6ULL Linux按键驱动实战:从GPIO轮询到设备树中断+等待队列
  • 2026全年龄段益生菌推荐指南,认准这6款安全有效品牌 - 资讯焦点
  • 运维效率翻倍!服务器监控告警 + 内网穿透,异地管理超省心
  • 聊城车牌靓号代选,聊城车牌靓号价格-上牌选号 - dasggg
  • 智能农产品检验通信系统的设计与实现
  • 【计算机毕设】4S店车辆管理系统
  • 【深度学习新浪潮】如何评价Kaiming He新作《Generative Modeling via Drifting》?
  • 智能气候控制箱控制系统设计
  • 2026年2月份吊扇灯优质品牌推荐指南适配家居风格 - 资讯焦点
  • 智能配电网自愈功能研究
  • 【AI黑话日日新】什么是PPO?
  • 2026国内最新月子中心top10推荐!服务深度覆盖广州/天河/黄埔/海珠/越秀/白云/荔湾等地,优质机构权威榜单发布 - 品牌推荐2026
  • AI写论文高效省心!6款论文AI生成工具实测,高质量论文一键生成 - 资讯焦点
  • 智能天窗设计
  • 肺气虚型慢阻肺调理不踩坑|2026 循证评测,养无极补肺丸凭什么成为首选?(附攻略) - 资讯焦点
  • NATLINEAR南麟 LN6206P222MR-G SOT23-3L 线性稳压器(LDO)
  • 2026年知名钢琴赛事专业度评测深度解析 - 资讯焦点
  • 麦蔻乐芬好不好?这款奶粉怎么样?2026深度测评,解析稀奶油赋能智力发育的高能配方 - 资讯焦点
  • 杂题相关