Construction is a two step process. The space for something is allocated and then the constructor is called so there isn’t anything magical in that example.
It does however also remove half the guarantees about uninitiated object visibility in the java memory model because your leaking the reference inside the constructor.
It does however also remove half the guarantees about uninitiated object visibility in the java memory model because your leaking the reference inside the constructor.