When Ctrl-c causes an application to be interrupted does the finalize method for all objects get called? If not is there any way of executing something when ctrl-c interrupts an application?
Java doesn't guarantee that finalizers are run, ever -- not on normal termination, let alone abnormal termination. Don't write code that requires finalize() to run for correctness.