Thread-Safe Design in Java: static synchronized and Stateless Beans

Lock at the class level for static data — then avoid locks altogether with stateless design.