是这样的 java在语法上会内存自动回收 但是在实际开发中 我们会调用底层c语言中代码 c语言不会自动回收内存 所以我们要手动去关闭资源
1.垃圾收集是一种从无用对象收其所占用的内存,并使回收的内存能被再次使用的机制。
2.无用对象是值它不能被程序中处于活动状态的部分引用(个人理解就是没有引用指向该对象时)。
3.垃圾回收机制(gc)处于低优先级的线程内,当使用内存较少时运行,但不能保证何时运行
4.不可能强制运行垃圾回收线程,但是调用语句System.gc()有可能激活垃圾收集程序。
当然回收的过程中肯定会会占用一些内存的
5.在垃圾回收机制中无法保证对象被垃圾回收的顺序,也无法保证finalize()的方法被调用的顺序。
6.环形引用并不能阻止对象被回收
|