美文网首页
垃圾回收总结

垃圾回收总结

作者: 晓茫 | 来源:发表于2018-05-14 17:33 被阅读0次

内存垃圾回收主要是解决3个问题

  1. 哪些内存需要回收 what
  2. 何时回收 when
  3. 怎么回收 how

哪些需要回收

程序计数器、方法栈、本地方法栈,这三个区域随着线程而生,随线程而灭

  1. 引用计数法 :
    优点; 实现简单,效率高
    缺点:无法判断环式引用
  2. 可达性分析:通过一系列称之为GC Roots的对象作为起始点,从这些节点开始向下搜索,所走过的路径称之为引用链。当一个对象到任何一个GC roots 不存在引用链相连的时候,则证明此对象是不可达的。java中GC Roots包含以下几种:
  • 虚拟机栈中引用的对象
  • 方法区中类静态属性引用的对象
  • 方法区中常量引用的对象
  • 本地方法栈中引用的对象

何时回收

java中引用有如下几种

  1. 强引用
    最普遍的存在 a=new A
  2. 软引用
    用来保存有用但非必须(例如cache)系统将要在发生内存溢出之前,将会把这些对象列进回收范围之内进行第二次回收
  3. 弱引用
    也是用来描述非必须对象的,但是它的强度比软引用更弱一些,被弱引用关联的对象只能生存到下一次垃圾回收之前,当垃圾回收的时候,无论内存是否足够,都会回收掉只被弱引用关联的对象(使用场合?)
  4. 虚引用
    虚引用的存在不会对生存周期产生任何影响,也无法通过弱引用取得一个对象的实例,为一个对象设置虚引用的唯一目的就是能在这个对象被回收之前收到一个系统通知

相关文章

  • JVM垃圾回收算法

    Java基础:JVM垃圾回收算法 [toc] 参考:Java基础:JVM垃圾回收算法图解JVM垃圾回收算法 总结:...

  • 垃圾回收算法、回收机制与总结 ---JVM

    垃圾回收算法、回收机制与总结 ---JVM 一、垃圾回收算法 1.标记清除 标记--清除算法将垃圾回收分为两个阶段...

  • 2020-04-03 JVM垃圾回收相关文章引用

    这三篇文章总结的非常到位,收藏在这里。 Jvm垃圾回收器(基础篇) Jvm垃圾回收器(算法篇) Jvm垃圾回收器(...

  • JVM 垃圾回收算法

    JVM的4种垃圾回收算法、垃圾回收机制与总结 1.标记清除 标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶...

  • 垃圾回收总结

    内存垃圾回收主要是解决3个问题 哪些内存需要回收 what 何时回收 when 怎么回收 how 哪些需要回收 程...

  • 垃圾回收总结

    hotspot垃圾回收器概览 知识点 只要涉及到对象地址移动的就必须STW,所以young gc一定SWT 垃圾回...

  • Java虚拟机笔记 jvm notes(II GC)

    垃圾回收机制 比较好的文章: JVM 优化经验总结 JVM调优总结 1⃣️可回收对象算法 目前查看对象是否需要回收...

  • 简单理解垃圾回收

    什么是垃圾回收? 垃圾回收的是什么? 如何判断为垃圾? 垃圾是怎样被回收的? 垃圾回收哪些区域的内存? 什么是垃圾...

  • 垃圾回收算法与垃圾回收器总结

    概述 都知道Java是自动进行内存管理的,有自己的垃圾回收机制,那么具体Java是怎样进行垃圾回收的呢?本章就来总...

  • 24-垃圾回收器总结

    一、7种经典垃圾回收器总结image.png 二、垃圾回收器选择 1、优先调整堆的大小让JVM自适应完成 2、如果...

网友评论

      本文标题:垃圾回收总结

      本文链接:https://www.haomeiwen.com/subject/cwyjdftx.html