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.

