Dynamic Detection of Oversynchronization of Java Objects
Original Publication Date: 2004-Apr-02
Included in the Prior Art Database: 2004-Apr-02
In this brief article, I shall describe a method for detecting oversynchronized Java instance objects during an execution of a given Java application. Oversynchronization is an unnecessary cost in terms of execution time that may result in performance degradation of the application in question. To be able to detect that oversynchronization exists and to further identify the objects that are oversynchronized are significant steps to mitigate the problem. By having that information, one can go back and review the source code of the classes for those objects and determine how it can be rewritten to eliminate oversynchronization. There are known methods to detect oversynchronization through static analysis of Java source code. This article will describe a different approach using live detection at runtime through actual monitoring.