目录
SparkStreaming和StructuredStreaming的区别
Zookeeper的分布式一致性协议是什么,Raft讲一下,Paxos讲一下
项目里用到的 hive on spark 和 普通的hive有什么区别
SQL实现求所有学科都及格的学生id,GROUP BY HAVING
写SQL,date、dept、name、work_time,四个字段的表,求最近一个月内每个部门的平均工作时长前三的员工
Java GC算法有哪些?
Java的垃圾回收(Garbage Collection, GC)机制是自动管理内存的重要组成部分。它负责释放不再使用的对象所占用的内存,从而避免了内存泄漏。Java的GC算法主要有以下几种:
-
标记-清除算法 (Mark-Sweep): 这是最基本的GC算法,分为两个阶段:标记和清除。标记阶段标记出所有从根节点可达的对象,清除阶段则回收未被标记的对象所占用的空间。这种算法的主要缺点是在清除阶段会产生大量不连续的内存碎片。
-
复制算法 (Copying): 该算法将可用内存分为大小相等的两块,每次只使用其中的一块,在垃圾回收时,将正在使用的对象复制到另一块上面,然后清除当前使用的内存区域。这样可以避免内存碎片的问题,但代价是只能使用一半的总可用内存。
-
标记-整理算法 (Mark-Compact): 这是标记-清