news 2026/8/24 11:08:34

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 方法,导致数据残留

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 12:25:51

如何在 Active Directory 中查看用户登录历史?

要全面了解 Active Directory 用户的登录活动&#xff0c;首先需要启用登录审计&#xff0c;然后通过事件查看器、PowerShell 或专业审计工具&#xff08;如 ADAudit Plus&#xff09;查看安全事件日志中的关键事件 ID&#xff0c;例如成功登录&#xff08;4624&#xff09;和失…

作者头像 李华
网站建设 2026/8/23 21:28:40

翘曲晶圆传输易损坏,哪种末端效应器的晶圆机器人适配性更好?

在半导体和LED产业中&#xff0c;薄型化、大尺寸化的晶圆&#xff08;如碳化硅晶圆、蓝宝石基板&#xff09;因制造工艺特性&#xff0c;容易出现翘曲现象。这类晶圆在传输过程中稍有不慎就会导致碎裂或表面损伤&#xff0c;成为产线良率提升的“拦路虎”。许多客户都面临这样的…

作者头像 李华
网站建设 2026/8/22 7:19:20

表单设计优化:如何在HMI中高效输入参数?

在工业HMI中&#xff0c;表单是连接操作员意图与设备参数的关键桥梁。一个设计糟糕的表单&#xff08;如输入项混乱、验证滞后、易出错&#xff09;会严重拖慢生产节奏&#xff0c;甚至引发设置错误。优化的核心目标是&#xff1a;最大化预设、最小化输入、实时化验证、清晰化引…

作者头像 李华
网站建设 2026/8/22 0:35:02

一元羊肉粉月赚30万:揭秘餐饮秘籍

最近餐饮圈有个案例火了——一家羊肉粉店推出“一元一碗”活动&#xff0c;一个月卖出30万流水。这听起来像是个赔本赚吆喝的故事&#xff0c;但深入分析后你会发现&#xff0c;这背后是一套完整的市场化商业模式。今天我们就来拆解这套可复制、能过审、且符合平台推广规则的运…

作者头像 李华
网站建设 2026/8/22 2:47:14

GEO服务商哪家效果好:技术驱动下的市场洗牌与五强突围

引言&#xff1a;30亿市场的“中场哨响”&#xff0c;GEO行业进入价值重估关键期 2026年&#xff0c;中国GEO&#xff08;生成式引擎优化&#xff09;行业正经历一场深刻的结构性调整。据易观分析最新报告指出&#xff0c;随着AI搜索成为品牌与用户交互的核心入口&#xff0c;…

作者头像 李华
网站建设 2026/8/21 14:39:58

寒冬燃情!湖南省网安基地第二期“守护者联盟”

风雪刺骨&#xff0c;键盘炙热&#xff0c;一群网络安全守护者在零下温度中开启了他们的数字征程2026年1月19日&#xff0c;当星城长沙迎来这一年最冷的寒潮&#xff0c;湖南省网安基地&#xff08;CSB&#xff09;的实训室内却热火朝天。来自全国各地的网络安全爱好者、高校学…

作者头像 李华