This question evaluates understanding of Java language features—specifically the final keyword, the finally block, and the finalize() method—testing competency in language semantics, object lifecycle, exception handling, and resource management.
Compare Java's final keyword, the finally block, and the finalize() method. For each, explain purpose, typical use cases, lifecycle/semantics, and common pitfalls or deprecations; provide brief examples.