单项选择题

A.所有类的实例和数组都是在堆上分配内存的
B.对象所占的堆内存是由java内存管理自动回收的
C.堆内存由存活和死亡的对象空闲碎片区组成
D.数组是分配在栈中的