当前位置: 首页 > 面试题库 >

请简述一下GC算法

施恩
2023-03-14
本文向大家介绍请简述一下GC算法相关面试题,主要包含被问及请简述一下GC算法时的应答技巧和注意事项,需要的朋友参考一下

考察点:JVM

①GC(GarbageCollection 垃圾收集),GC的对象是堆空间和永久区

②GC算法包含:引用计数法,标记清除,标记压缩,复制算法。

③引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,则对象A就不可能再被使用。

④标记-清除算法是现代垃圾回收算法的思想基础。标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。一种可行的实现是,在标记阶段,首先通过根节点,标记所有从根节点开始的可达对象。因此,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有未被标记的对象。与标记-清除算法相比,复制算法是一种相对高效的回收方法不适用于存活对象较多的场合如老年代将原有的内存空间分为两块,每次只使用其中一块,在垃圾回收时,将正在使用的内存中的存活对象复制到未使用的内存块中,之后,清除正在使用的内存块中的所有对象,交换两个内存的角色,完成垃圾回收。

 类似资料:
  • 本文向大家介绍请简述一下如何优化数据库?相关面试题,主要包含被问及请简述一下如何优化数据库?时的应答技巧和注意事项,需要的朋友参考一下 数据库的优化可以从四个方面来优化 1.从结构层: web服务器采用负载均衡服务器,mysql服务器采用主从复制,读写分离 2.从储存层: 采用合适的存储引擎,采用三范式 3.从设计层: 采用分区分表,索引,表的字段采用合适的字段属性,适当的采用逆范式,开启mysq

  • 本文向大家介绍请简述一下Hibernate常见优化策略。相关面试题,主要包含被问及请简述一下Hibernate常见优化策略。时的应答技巧和注意事项,需要的朋友参考一下 考察点:Hibernate 参考回答: ①制定合理的缓存策略(二级缓存、查询缓存)。 ② 采用合理的Session管理机制。 ③ 尽量使用延迟加载特性。 ④ 设定合理的批处理参数。 ⑤ 如果可以,选用UUID作为主键生成器。 ⑥ 如

  • 本文向大家介绍请简单描述一下类的加载过程相关面试题,主要包含被问及请简单描述一下类的加载过程时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的

  • 本文向大家介绍请简述一下实现多线程同步的方法?相关面试题,主要包含被问及请简述一下实现多线程同步的方法?时的应答技巧和注意事项,需要的朋友参考一下 考察点:多线程 可以使用synchronized、lock、volatile和ThreadLocal来实现同步。 考察点:多线程 可以使用加锁,比如synchronized或者lock。也可以使用Concurrent包下的原子类。

  • 本文向大家介绍请简单描述一下JVM分区都有哪些?相关面试题,主要包含被问及请简单描述一下JVM分区都有哪些?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM java内存通常被划分为5个区域:程序计数器(Program Count Register)、本地方法栈(Native Stack)、方法区(Methon Area)、栈(Stack)、堆(Heap)。

  • 本文向大家介绍请简述一下EJB的激活机制是什么?相关面试题,主要包含被问及请简述一下EJB的激活机制是什么?时的应答技巧和注意事项,需要的朋友参考一下 考察点:EJB 参考回答: 以Stateful Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如