title: Any reason NOT to slap the 'synchronized' keyword everywhere?
body: <p>In my java project, almost every non-static method I've written is <code>synchronized</code>. I've decided to fix up some code today, by removing most of the <code>synchronized</code> keywords. Right there I created several threading issues that took quite a while to fix, with no increase in performance. In the end I reverted everything.</p>
  
  <p>I don't see anyone else writing code with "<code>synchronized</code>" everywhere. So is there any reason I <i>shouldn't</i> have "<code>synchronized</code>" everywhere?</p>
  
  <p>What if I don't care too much about performance (ie. the method isn't called more than once every few seconds)?</p>