下载此文档

jvm垃圾回收机制.doc


文档分类:建筑/环境 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
-
. z.
JVM垃圾回收机制
JVM垃圾回收机制

Java是一门面向对象的语言,具有高可用,分布性,可移植性等众多优势,将代码运行在JVM平台上,强大的 = null;
        public static void main(String[] args) {
                 Demo a = new Demo();
                 Demo b = new Demo();
                  = b;
                  = a;
                 a = null;
                 b = null;
        }
}
-
. z.
在这段代码中,此时demo a中的instance指向了b,demo b中的instance指向了a,此时a到b 的引用,b到a的引用都已经断开,demo a,demo b两个对象都已经无法再次调用,故而两个对象都已经是垃圾,但根据引用计数算法(即传统的教学方式所描述的垃圾)该对象并非垃圾,因为此时a,b都存在互相指向的问题,我们把这样的问题称之为循环引用问题,
--正确判断垃圾的标准:可达性算法
通过一系列的“GC ROOTS〞的对象作为起始点,从这些节点开场向下搜索,搜索所走过的链称之为引用链(Reachability Analysis),当这个对象不能够到达“GC ROOTS〞顶点时,则这样的对象才算是一个垃圾 可以作为GC ROOTS 的四种对象
-
. z.
在这里需要解释的是在JVM 规*中强调 方法区和堆所属于逻辑上的一个整体,但在JVM具体的实现中,方法区又名no-heap即非堆,这里以实现为主
-
. z.
堆分成两类类:
:新生区是类的诞生、成长、消亡的区域,一个类在这里产生,应用,最后被垃圾回收器收集,完毕生命。新生区又分为两局部: Eden space 和幸存者区〔Survivor pace〕 ,所有的类都是在Eden区被new出来的。幸存区有两个: 0区〔Survivor 0 space〕和1区〔Survivor 1 space〕。当Eden的空间用完时,程序又需要创立对象,JVM的垃圾回收器将对伊甸园区进展垃圾回收(Minor GC),将Eden区中的不再被其他对象所引用的对象进展销毁。然后将Eden中的剩余对象移动到幸存 0区。假设幸存 0区也满了,再对该区进展垃圾回收,然后移动到 1 区。那如果1 。假设养老区也满了,则这个时候将产生Major GC〔FullGC〕,进展养老区的内存清理。假设养老区执行了Full GC之后发现依然

jvm垃圾回收机制 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sdnmy78
  • 文件大小44 KB
  • 时间2022-03-05