I couldn’t do a whole lot to figure out if
Object are being used for synchronized blocks in the Java API, as stated before that would be too much work that is too tangential to my project.
What I could figure out quite easily, though, is if the Java API makes use of
new Object(). I just scanned for a call to
Object.<init>() except for at the beginning of a constructors (if a constructor makes that call at the beginning, then it’s a
super() call). Since you can’t do a lot with an object created with
new Object() except for synchronization (it provides the methods
wait), I can assume that these instances are being used in synchronized blocks.
Quite a few locations popped up. Another reason why I cannot safely ignore