Class ObjectCleaner


  • public final class ObjectCleaner
    extends java.lang.Object
    Allows a way to register some Runnable that will executed once there are no references to an Object anymore.
    • Field Detail

      • REFERENCE_QUEUE_POLL_TIMEOUT_MS

        private static final int REFERENCE_QUEUE_POLL_TIMEOUT_MS
      • CLEANER_THREAD_NAME

        static final java.lang.String CLEANER_THREAD_NAME
      • REFERENCE_QUEUE

        private static final java.lang.ref.ReferenceQueue<java.lang.Object> REFERENCE_QUEUE
      • CLEANER_RUNNING

        private static final java.util.concurrent.atomic.AtomicBoolean CLEANER_RUNNING
      • CLEANER_TASK

        private static final java.lang.Runnable CLEANER_TASK
    • Constructor Detail

      • ObjectCleaner

        private ObjectCleaner()
    • Method Detail

      • register

        public static void register​(java.lang.Object object,
                                    java.lang.Runnable cleanupTask)
        Register the given Object for which the Runnable will be executed once there are no references to the object anymore. This should only be used if there are no other ways to execute some cleanup once the Object is not reachable anymore because it is not a cheap way to handle the cleanup.
      • getLiveSetCount

        public static int getLiveSetCount()