首页 > 试题广场 >

垃圾回收机制

[问答题]

请你介绍一下Java的垃圾回收机制

不知道啊
发表于 2018-12-20 20:04:20 回复(0)
什么鬼,c++的考java
发表于 2019-10-09 16:10:18 回复(0)
java的回收机制就是java虚拟机在动态的回收无任何引用对象的内存
发表于 2019-03-02 09:52:10 回复(0)
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。 需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身
发表于 2019-01-12 21:22:44 回复(2)
垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。

垃圾判断算法

  • 引用计数法
    给每个对象添加一个计数器,当有地方引用该对象时计数器加1,当引用失效时计数器减1。用对象计数器是否为0来判断对象是否可被回收。
  • 可达性分析算法

    通过GC ROOT的对象作为搜索起始点,通过引用向下搜索,所走过的路径称为引用链。通过对象是否有到达引用链的路径来判断对象是否可被回收。

垃圾回收算法

  • 标记-清除算法

    标记清除算法(Mark-Sweep)是最基础的一种垃圾回收算法,它分为2部分,先把内存区域中的这些对象进行标记,哪些属于可回收标记出来,然后把这些垃圾拎出来清理掉。就像上图一样,清理掉的垃圾就变成未使用的内存区域,等待被再次使用。

  • 复制算法

    复制算法(Copying)是在标记清除算法基础上演化而来,解决标记清除算法的内存碎片问题。它将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。

  • 标记-整理算法

    标记-整理算法标记过程仍然与标记-清除算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,再清理掉端边界以外的内存区域。

  • 分代收集算法

    分代收集算法分代收集算法严格来说并不是一种思想或理论,而是融合上述3种基础的算法思想,而产生的针对不同情况所采用不同算法的一套组合拳,根据对象存活周期的不同将内存划分为几块。
编辑于 2020-08-28 12:31:46 回复(0)
为啥面的C++会出现Java……
发表于 2020-03-20 08:36:03 回复(0)
C/C++你说要我介绍JAVA,要不要我介绍一下PHP
发表于 2019-08-22 17:15:15 回复(0)
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。
发表于 2019-04-28 21:01:00 回复(0)
java 的垃圾回收机制: 1.垃圾回收是由虚拟机自动执行 不能人为地干预 2.系统比较空闲(垃圾回收线程) 3.对象不在被引用 对象处于引用的隔离岛状态(隔离引用)对象具备了回收的条件 4.gc()方法 可以建议虚拟机执行垃圾回收 但是不能确定是否会执行回收
编辑于 2019-05-06 17:10:21 回复(0)
不知道
发表于 2019-04-09 18:46:05 回复(0)
不定时的回收
发表于 2019-03-11 15:19:49 回复(0)
一个变量指向一个对象,当这个变量指向其他对象时,这个原来的对象就会回收
发表于 2019-03-10 21:50:30 回复(0)
不知道
发表于 2019-03-10 09:28:06 回复(0)
Java垃圾回收机制是JAVA虚拟机提供的能力,用于在空闲时间不定时的方式动态回收无任何引用的对象占据的内存空间。注意: 是对象占据的内存空间而不是对象本身。
发表于 2019-03-10 07:14:20 回复(0)
JVM在空闲时间不定时地回收没有任何引用的对象所占据的空间
发表于 2019-03-07 09:32:42 回复(0)
不定时的回收无任何引用的内存块
发表于 2019-03-06 16:34:32 回复(0)
Java虚拟机以动态形式不定时回收无对象的内存
发表于 2019-03-06 09:33:44 回复(0)
不知道
发表于 2019-03-06 00:14:57 回复(0)
java回收机制是java虚拟机在空闲时间不定时的释放未被引用的对象所占用的内存空间
发表于 2019-03-02 09:19:48 回复(0)
不知道
发表于 2019-02-27 16:28:30 回复(0)