【校招VIP】java语言考点之垃圾回收算法

09月13日 收藏 0 评论 0 java开发

【校招VIP】java语言考点之垃圾回收算法

考点介绍:

垃圾回收算法是必考题。GC中的垃圾,指的是存在于内存中的、不会再被使用的对象。而垃圾回收就是把那些不再被使用的对象进行清除,收回占用的内存空间。

答案详情解析和文章内容可扫下方海报二维码或点击链接即可查看!

一、考点试题

1、java中如何判断对象是否是垃圾?

解答:引用计数:在对象中添加一个引用计数器,如果被引用计数器加 1,引用失效时计数器减 1,如果计数器为 0 则被标记为垃圾......

2下列对JVM垃圾回收的描述,不正确的是()

A.标记清除包含标记对象和清除两次操作,所以执行效率不高

B.复制算法将内存分为两块AB,回收后将A部分所有的存活对象移动到B,将A空闲出来。这种操作解决了碎片的问题

C.标记整理是将对象标记之后,全部存活的对象向一端移动,对额外空间的要求较高

D.分代收集实际中包含的标记清除、复制等算法

解答:正确答案是 C

C是移动算法,不是复制算法,不需要额外空间......

3、如果JVM内触发新生代GC,如果存活对象总量大于survivor区容量,以下说法正确的是()

A.Survivor区域属于新生代。当超出时,可以直接清空Survivor区域,然后重新在Eden区放置对象,也就是所谓的Minor GC

B.发生新生代的Minor GC,将大量连续存储空间的对象会直接分配到老年代

C.发生Minor GC,会影响到永久代(或元数据区)

D.如果对象转移到老年代后,老年代数据也超出,则直接抛弃数据

解答:正确答案是 B

这道题考查的是JVM堆结构里的数据存放和垃圾回收机制,首先要了解堆结构,分为新生代(包含Eden区和两个Survivor区)、老年代和元空间,如图......

4、对象死亡(被回收)前的最后一次挣扎(百度面试题)

解答:通过可达性分析,那些不可达的对象并不是立即被销毁,他们还有被拯救的机会。如果要回收一个不可达的对象,要经历两次标记过程......

5、常用的垃圾回收算法(百度面试题)

解答:1、标记-清除算法

标记-清除算法采用从根集合(GC Roots)进行扫描,对存活的对象进行标记,标记完毕后,再扫描整个空间中未被标记的对象,进行回收,此算法一般没有虚拟机采用。

......

二、考点文章

1、垃圾回收算法与垃圾回收器

Java与C++等语言最大的技术区别:自动化的垃圾回收机制(GC)为什么要了解GC和内存分配策略......

2、几种垃圾回收算法

垃圾回收GC的全拼是 Garbage Collection 其在维基百科的定义是: 在计算机科学中,垃圾回收(英语:Garbage Collection,缩写为GC)是一种自动的内存管理机制。

3、Minor GC ,Full GC 触发条件是什么?

从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC;对老年代GC称为Major GC;而Full GC是对整个堆来说的......

三、考点视频

动态规划之下楼梯的步数方案

动态规则是算法的一种类型,包括转移函数、结束逻辑等,是开发岗校招笔试和面试的大头,必须要掌握。

移动端链接:https://m.xiaozhao.vip/dTopic/detail/1184

PC端链接:https://xiaozhao.vip/dTopic/detail/1184


C 0条回复 评论

帖子还没人回复快来抢沙发