JDK-8253225 : Release Note: Object Monitors No Longer Keep Strong References to Their Associated Object
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 16
  • Priority: P5
  • Status: Closed
  • Resolution: Delivered
  • Submitted: 2020-09-16
  • Updated: 2021-12-02
  • Resolved: 2021-12-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16Resolved
Description
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.
Comments
[~dholmes] - I'm good with the wording also.
17-09-2020

Thanks for improving the text [~dholmes]. It certainly reads better now. I am good with this.
17-09-2020

Added missing reference to `JVMTI_HEAP_REFERENCE_MONITOR`
17-09-2020

[~eosterlund], [~dcubed], if you are okay with the title and text this can be marked as Resolved/delivered.
16-09-2020