When synchronization is performed on an object, an association is established between the object and the object monitor that implements the synchronization. In the past, the reference from a monitor to its associated object was a strong reference. These strong references would be observable through JVM TI functions that walk the heap (reported as `JVMTI_HEAP_ROOT_MONITOR` or `JVMTI_HEAP_REFERENCE_MONITOR`) and in heap dumps (reported as `HPROF_GC_ROOT_MONITOR_USED`). As of this release, a weak reference is used. These are not observable to JVM TI or heap dumps. Consequently, `JVMTI_HEAP_ROOT_MONITOR`, `JVMTI_HEAP_REFERENCE_MONITOR` and `HPROF_GC_ROOT_MONITOR_USED` are longer reported.
|