一张图了解强引用对象的生命周期.png 图解: 需要经历两次标记,对于强引用来说,第一次标记就是将不可达对象放入pendingQueue里面,第二次标记就直接死亡了。 finalize方法的作用:GC单纯的只对java分配的内存有用,如果想要释放c++层的内存,需要在Gc的执行过程中的回调方法finalize里释放 对象的finalize方法只会执行一次 finalize和gc是在两个不同的线程执行的,所以不确定性比较大,所以尽量不要用finalize方法