不定项选择题 关于垃圾收集的叙述正确的是______。
   A.程序开发者必须自己创建一个线程进行内存释放的工作
   B.垃圾收集将检查并释放不再使用的内存
   C.垃圾收集允许程序开发者明确指定并立即释放该内存
   D.垃圾收集能够在期望的时间释放被Java对象使用的内存
【正确答案】 B
【答案解析】Java语言将内存分配和释放的工组交给了自己,程序员不必做这些工作。它提供一个系统级的线程跟踪每个内存的分配。在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。垃圾收集的过程在Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。可以调用System.gc()方法建议(suggest)JVM执行垃圾收集,以使得可被释放的内存能立即使用,当此方法返回的时候,JVM已经做了最大的努力从被丢弃的对象上回收内存空间。程序员不能指定收集哪些内存,一般而言也不用关心这个问题,除非是程序的内存消耗很大,特别是有很多临时对象时可以“建议”进行垃圾收集以提高可用内存。需要指出的是调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议,因为垃圾收集线程的优先级很低(通常是最低的)。