Running finalizers on JVM exit is disabled by default. It can be enabled with `System.runFinalizersOnExit` and `Runtime.runFinalizersOnExit`, but both methods are deprecated because they are inherently unsafe. According to the Oracle Javadoc: ____ It may result in finalizers being called on live objects while other threads are concurrently manipulating those objects, resulting in erratic behavior or deadlock. ____ If you really want to execute something when the virtual machine begins its shutdown sequence, you should attach a shutdown hook.