creatual pattern and structual pattern
java synchronization