您的位置:首页 > 编程语言 > Java开发

Java中垃圾回收(gc)问题

2016-06-16 18:07 393 查看
以下哪项陈述是正确的?

A. 垃圾回收线程的优先级很高,以保证不再 使用的内存将被及时回收

B. 垃圾收集允许程序开发者明确指定释放 哪一个对象

C. 垃圾回收机制保证了JAVA程序不会出现 内存溢出

D. 进入”Dead”状态的线程将被垃圾回收器回收

E. 以上都不对

答案:E

解析:

A: 垃圾回收在jvm中优先级相当相当低。

B:垃圾收集器(GC)程序开发者只能推荐JVM进行回收,但何时回收,回收哪些,程序员不能控制。

C:垃圾回收机制只是回收不再使用的JVM内存,如果程序有严重BUG,照样内存溢出。

D:进入DEAD的线程,它还可以恢复,GC不会回收

当程序运行时,至少会有两个线程开启启动,一个是我们的主线程,一个时垃圾回收线程,垃圾回收线程的priority(优先级)较低。垃圾回收器会对我们使用的对象进行监视,当一个对象长时间不使用时,垃圾回收器会在空闲的时候(不定时)对对象进行回收,释放内存空间,程序员是不可以显示的调用垃圾回收器回收内存的,但是可以使用System.gc()方法建议垃圾回收器进行回收,但是垃圾回收器不一定会执行。

Java的垃圾回收机制可以有效的防止内存溢出问题,但是它并不能完全保证不会出现内存溢出。例如当程序出现严重的问题时,也可能出现内存溢出问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java jvm 垃圾回收 gc