垃圾收集一直是java值得称道的地方,提供了堆内存的自动管理,在很大程度上解决了内存泄漏的问题,但是请记住垃圾收集并不能使你的程序脱离内存溢出的问题。垃圾收集的几个特点:
1.垃圾收集的功能是查找和删除在程序中不再使用的对象,至于在什么时间点运行依jvm而定。这也成为了垃圾收集最大的缺点,无法控制其运行时机。
2.程序只能通过System.gc()来请求jvm执行垃圾收集,请主意这里用的是请求而不是要求。
3.对象岛也能够被垃圾收集,即使它们之间存在相互引用(对象岛概念请查阅相关资料)
4.Object对象具有finalize()方法,在jvm进行垃圾收集前,可以保证finalize()运行一次,而且只会运行一次。但是jvm并不承诺一定会执行finalize方法。
1.垃圾收集的功能是查找和删除在程序中不再使用的对象,至于在什么时间点运行依jvm而定。这也成为了垃圾收集最大的缺点,无法控制其运行时机。
2.程序只能通过System.gc()来请求jvm执行垃圾收集,请主意这里用的是请求而不是要求。
3.对象岛也能够被垃圾收集,即使它们之间存在相互引用(对象岛概念请查阅相关资料)
4.Object对象具有finalize()方法,在jvm进行垃圾收集前,可以保证finalize()运行一次,而且只会运行一次。但是jvm并不承诺一定会执行finalize方法。
本文介绍了Java中的垃圾收集机制,包括其主要特点如自动管理堆内存、解决内存泄漏问题但不能完全避免内存溢出,以及无法精确控制垃圾回收时机等。同时解释了对象岛的概念,并说明了Object对象的finalize()方法在垃圾收集过程中的作用。
997

被折叠的 条评论
为什么被折叠?



