内存分配与回收策略考试题
请回答以下问题:
1. Java 对象的内存分配主要发⽣在哪⾥?(单选)
A. 栈上
B. 堆上
C. 寄存器中
D. 常量池中
2. 当新⽣代的 Eden 区空间不⾜时,会触发哪种类型的垃圾收集?(单选)
A. Major GC
B. Full GC
C. Minor GC
D. Concurrent GC
3. ⼤对象⼀般会直接分配在哪个内存区域?(单选)
A. 新⽣代的 Eden 区
B. ⽼年代
C. Survivor 区
D. 永久代
4. 新⽣代中的对象会根据什么条件进⼊⽼年代?(多选)
A. 对象的年龄超过⼀定值
B. 对象的⼤⼩超过⼀定阈值
C. Survivor 区中相同年龄对象⼤⼩总和超过 Survivor 空间的⼀半
D. 对象的引⽤被清除
5. 发⽣ Full GC 的情况包括以下哪些?(多选)
A. System.gc() ⽅法的显式调⽤
B. ⽼年代空间不⾜
C. 永久代空间不⾜
D. CMS GC 时出现 "promotion failed" 和 "concurrent mode failure"
E. 统计得到的 Minor GC 晋升到⽼年代的平均⼤⼩⼤于⽼年代的剩余空间
请将答案填写在以下的代码块中: