预备知识
JNI(Java Native Interface),它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)
概念
finalize()是Object类中的一个方法,垃圾回收器准备释放对象占用的内存时...析构函数:在C++中没有垃圾回收器,当对象需要被销毁时,需要手动调用delete()方法释放内存,而析构函数会在内存释放前被调用,用于释放对象使用的资源,比如在其中经常做一些文件保存之类的收尾工作。...作用
1.释放那些不是通过new分配的内存
在JNI技术中,可能会通过C语言的malloc()分配内存,这部分内存无法通过垃圾回收器释放,只能通过在finalize()中调用本地方法释放。...Book对象在被当作垃圾回收前都应该被签入(check in)。...在main()方法中可看到,一次误操作未对Book对象进行签入,导致有一本书没有被签入。此时我们可以使用finalize()验证终结条件。