开发者社区> 问答> 正文

Java在什么时候容易发生内存泄露?

Java在什么时候容易发生内存泄露?

展开
收起
游客toxlrfghuoiyc 2021-10-22 20:25:23 464 0
1 条回答
写回答
取消 提交回答
  • 1、静态集合类,如 HashMap、Vector 等,因为GC是不会回收静态类的 2、各种连接,如 数据库连接、网络连接、IO连接等如果没有调用 close 关闭,GC不会回收导致的内存泄露,所以我们一再强调使用完连接之后一定要在 finally 中关闭掉 3、强引用,Object obj = new Object() 这种使用 new 方式创建的就属于强引用,(如果有GCRoots的强引用)垃圾回收器绝对不会回收它,当内存不足时宁愿抛出 OOM 错误使得程序异常停止也不会回收强引用对象。 4、监听器的使用,在释放内存的同时没有相应删除监听器的时候也可能导致内存泄露

    2021-10-22 20:33:18
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载