Do not allow the this reference to escape during construction.
A common mistake that can let the this reference escape during construction is to start a thread from a constructor.
Calling an overrideable instance method (one that is neither private nor final) from the constructor can also allow the this reference to escape.