Java垃圾回收学习片段

来源:互联网 发布:淘宝客辅助器 编辑:程序博客网 时间:2024/06/06 21:05
Java JVM (Java虚拟机)
GC 垃圾回收器
GC的功能就是  可以自动监测对象是否超过作用域从而达到自动回收内存的目的。Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
并且GC回收的不是对象本身,而是回收的是无任何引用的对象占据的内存空间

finalize()方法:

这个方法是Object定义的,finalize在JVM内存回收千会被调用(但并非绝对)。finalize

的功能就是做一些特殊的内存回收操作。但是这个方法建议是不要使用的,原因如下:
1.   finalize() 方法被执行的时间是不确定,所以不能依赖它来释放紧缺的资源。
2.   重载了 finalize() 方法的 object 需要至少经过两轮 GC 才有可能被释放,所以在 OOM 的瞬间,java.lang.ref.FinalizerReference 依然还是持有这么高的内存没有释放,这样级就拖慢了释放的速度。
System.gc()或者Runtime.getRuntime().gc();
这个可以被认为是强制垃圾回收的一种机制,但是并非强制回收,只是向JVM建议可以进行垃圾回收。
0 0
原创粉丝点击