Java 中的 finalize() 方法是 Object 类自带的一个方法,因所有的类都继承自 Object,所以所有类都是 Object 的子类,我们在子类重写 finalize() 方法就可以说使用了 Finalizer,使用其的目的一般是希望做一些对象销毁前最终的资源释放操作。而上文「Java try-with-resources 特性详解」里边介绍过,针对需要释放的资源,可以通过实现 AutoClosable 接口以及结合使用 try-with-resources 特性来实现。而 Finalizer,一般仅用于原生资源(非 Java 对象,不受 JVM 管理,一般通过调用原生方法来实现对其的释放)的释放这一个场景,除此之外,都应当避免对其的使用。