devxlogo

Release Resources with a Shutdown Hook

JDK 1.3 introduced the addShutdownHook() method to the java.lang.Runtime class. Implementing a shutdown hook is useful if you need to take some action right before your app stops running.

To add a shutdown hook, create an instance of the java.lang.Thread class and supply it as a parameter to the addShutdownHook() method. Because shutdown hooks should be short and to the point, anonymous inner classes are particularly suited for shutdown hooks.

Here’s a simple shutdown hook that prints the words “shutting down”:

Runtime.getRuntime().addShutdownHook(new Thread() {    public void run() {        System.out.println("shutting down");    }});

The Thread’s start() method will be called by the virtual machine when it’s shutting down.

In addition to adding a shutdown hook, you may also remove one by calling the method with a reference to a previously registered Thread object. Keep in mind that in order to deregister a hook, you must keep a reference to it, so an anonymous class won’t work in this situation.

If you need to do work, cleanup, release resources, etc. when your application is stopping, you may find the shutdown hook useful.

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  How Seasoned Architects Evaluate New Tech

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.