基于Java的内存泄露分析与定位.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 中国软件测试群: 172923163 MyTesting 群: 231767115 分享创造价 2 Java内存泄露背景知识 JVM 内部体系结构 3 Java内存泄露背景知识 Java 内存管理 • 内存的分配—new • 内存的释放—gc • 区分 “不再引用”和 “不再需要” 4 Java内存泄露背景知识 内存分配 5 Java内存泄露背景知识 Java对象及其引用 • 定义类 • 创建对象 • 代码对应内存分配 6 Java内存泄露背景知识 Java对象及其引用 • 两个对象引用指向了同一块内存 7 Java内存泄露背景知识 Java对象及其引用 • 一个对象引用可以指向0个或1个对象 (当=null时,指向0个对象) • 一个对象可以有N个引用指向它 • ? 8 Java内存泄露背景知识 对象气球 • 对象就像一个充满氢气的气球,我们没有办法直接去得到它,要 想对它的使用都必须通过一根连着它的绳子来访问,这根绳子就 对象 对象 是对象的引用。 1. 一根绳子同时只能连着一个气球,就像一个引用同时只能指向一个对象; 2. 可以用多根绳子同时连接一个气球,也就是可以有多个引用同时指向同一个 对象; 引用 引用 引用 3. 如果某个气球没有任何绳子连着它,那它就会飞走,同样,某个对象如果没 有引用连接它,它就会成为垃圾,等着被java 的垃圾收集器回收; 对象 4. 如果某根绳子没有连接任何气球,那么它就是一个空引用,对它的访问没有 意义。 null 5. 同样,某个引用如果没有指向对象,那么对它的访问将会抛出 NullPointerException 9 Java内存泄露背景知识 内存回收 • 垃圾收集算法 – 引用计数算法 (Reference Counting) – 标记-清除算法 (Mark-Sweep ) 核心: 1、发现无用信息对象 – 标记-整理算法 (Mark-Compact ) 2、回收被无用对象占用的空间 – 复制算法 (Copying ) – 分代收集算法 (Generational Collecting ) • 垃圾收集方式 – 串行收集 – 并行收集 (吞吐量优先) – 并发收集 (响应时间优先) 10 Java内存泄露背景知识 GC类型 • 新生代GC (Minor GC) – 发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕灭的特 性,所以Minor GC非常频繁,一般回收速度也比较快 • 老年代GC (Major GC/Full GC) – 发生在老年代的GC,出现了Major GC,经常会伴随至少一次的Minor GC。 Major GC的速度一般会比Minor GC慢10倍以上 11 Java内存泄露背景知识 JVM

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档