According to the official javadoc documentation, this Object.finalize() is called by the garbage collector on an object when garbage collection determines that there are no more references to the object. Calling this method explicitly breaks this contract and so is misleading. 


== Noncompliant Code Example

----
public void dispose() throws Throwable {
  this.finalize();                       // Noncompliant
}
----


== See

* http://cwe.mitre.org/data/definitions/586.html[MITRE, CWE-586] - Explicit Call to Finalize()
* https://wiki.sei.cmu.edu/confluence/x/4jZGBQ[CERT, MET12-J.] - Do not use finalizers


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
