垃圾回收
张志飞
知易行难
展开
-
java垃圾回收之 引用计数法
基本概念在对象中引入计数器(无符号整数),用于记录有多少对象引用了该对象。通过增减计数器实现对内存的管理。分配对象时将计数器置1。更新引用时先对新指定的对象进行计数器加,而后才对旧对象进行减。在对计数器做减法时,判断其计数器是否等于0,等于0 表示为垃圾,即可进行回收。在更新引用时就进行了垃圾的标记与回收,因此STW会很短而且当对象变垃圾时能立马被回收。优缺点优点即刻回收垃圾,在更改引用时就知道该...原创 2018-05-05 15:58:37 · 883 阅读 · 0 评论 -
java垃圾回收之标记清除法
java垃圾回收算法之-引用计数器,这个算法其中一个优点便是,实时性,只要对象的引用计数器的值为0,则立刻回收。接下来介绍的标记清除算法,当对象的引用计数器的值为0时,不会立刻被回收的。概念介绍root对象在标记清除算法中,会把如下对象称之为root对象被栈中的变量(栈中存的是对象的引用)所引用的对象被static变量引用的对象可访问的对象如果栈中有一个变量a引用了一个对象,那么该对象是可访问的,...转载 2018-05-05 16:27:08 · 1253 阅读 · 0 评论 -
java垃圾回收之复制算法
之前的java垃圾回收算法之-标记清除 会导致内存碎片。下文的介绍的coping算法可以解决内存碎片问题。概述如果jvm使用了coping算法,一开始就会将可用内存分为两块,from域和to域, 每次只是使用from域,to域则空闲着。当from域内存不够了,开始执行GC操作,这个时候,会把from域存活的对象拷贝到to域,然后直接把from域进行内存清理。 应用场景coping算法一般是使用在新...转载 2018-05-05 16:48:09 · 2099 阅读 · 0 评论