垃圾回收是java的最大特点之一,可以大大的解决了c++中依靠程序员去释放内存的压力,但是java提供的用来做为GC前的最后一道防线的finalize方法却并不友好
finalize的缺点
首先finalize的执行时间并不确定,其次finalize会阻碍GC的快速回收,在jvm进行GC时会启动一个finalizethread,当遇到有重写了finalize方法的对象时,会将对象放入finalizethread的中,并形成一个队列,暂时挂起
垃圾回收是java的最大特点之一,可以大大的解决了c++中依靠程序员去释放内存的压力,但是java提供的用来做为GC前的最后一道防线的finalize方法却并不友好
首先finalize的执行时间并不确定,其次finalize会阻碍GC的快速回收,在jvm进行GC时会启动一个finalizethread,当遇到有重写了finalize方法的对象时,会将对象放入finalizethread的中,并形成一个队列,暂时挂起