前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内存泄漏和内存溢出

内存泄漏和内存溢出

作者头像
名字是乱打的
发布2022-05-13 08:56:11
3.2K0
发布2022-05-13 08:56:11
举报
文章被收录于专栏:软件工程

java内存泄漏和内存溢出

概念
  • 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现 out of memory;
  • 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。类似于内存上不可用的漏洞.
内存泄漏场景
  • a)创建和应用生命周期一样的单例对象 不正确使用是引起内存泄露的一个常见问题,单例对象在被初始化后将在JVM的整个生命周期中存在(以静态变量的方式),如果单例对象持有外部对象的引用,那么这个外部对象将不能被jvm正常回收,导致内存泄露

b)创建匿名内部类的静态对象

c)未关闭资源

d)长时间存在的集合容器中创建生命周期短的对象

代码语言:javascript
复制
示例:A a = new A();
     B b = new B(a);
     a = null;  //期望a被回收,但事实是b中还有a的引用,所以导致a内存地址不可用,导致泄漏。可以使用弱引用(当a失效时,所有的引用也失效)解决。
内存溢出参考OOM

OOM的几种可能情况

遵循 CC 4.0 BY-SA 版权协议参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • java内存泄漏和内存溢出
    • 概念
      • 内存泄漏场景
        • 内存溢出参考OOM
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档