java synchronized static method vs block