此方法为Object内的protected,若方法被重载,则在JAVA GC准备回收次对象时,会先将此对象放入队列之中,由队列控制执行对象的finalize方法,当finalize方法执行结束后,该对象才会被回收。每个对象的finalize方法最多会被执行一次,若是由于结束进程等非GC机制释放内存,则不会出发进入队列执行方法等过程。由于执行finalize方法的时机不可控制,时长不确定,所以有导致GC回收不充分,内存溢出的风险。
2020-02-26
此方法为Object内的protected,若方法被重载,则在JAVA GC准备回收次对象时,会先将此对象放入队列之中,由队列控制执行对象的finalize方法,当finalize方法执行结束后,该对象才会被回收。每个对象的finalize方法最多会被执行一次,若是由于结束进程等非GC机制释放内存,则不会出发进入队列执行方法等过程。由于执行finalize方法的时机不可控制,时长不确定,所以有导致GC回收不充分,内存溢出的风险。
2020-02-26
本文标题:JAVA finalize
本文链接:https://www.haomeiwen.com/subject/wlugchtx.html
网友评论