Hi Aakash,
My understanding is that only one
string object was created on line 14 (new). It was passed to constructor of MyRunnable by reference, so s in MyRunnable refers to the same object on the heap.
So after main
thread slept for 4 seconds it continue to put letters into this one array object and then released lock.
At that time t1 started executing run and printed ABC