一张图了解强引用对象的生命周期

一张图了解强引用对象的生命周期.png

图解:

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

你可能感兴趣的:(一张图了解强引用对象的生命周期)