title: What is your development checklist for Java low-latency application?
body: <p>I would like to create comprehensive checklist for Java low latency application. Can you add your checklist here?</p>
  
  <p><b>Here is my list</b><br/>
  1. Make your objects immutable<br/>
  2. Try to reduce synchronized method<br/>
  3. Locking order should be well documented, and handled carefully<br/>
  4. Use profiler<br/>
  5. Use Amdhal's law, and find the sequential execution path<br/>
  6. Use Java 5 concurrency utilities, and locks<br/>
  7. Avoid Thread priorities as they are platform dependent<br/>
  8. JVM warmup can be used<br/>
  9. Prefer unfair locking strategy<br/>
  10. Avoid context-switching (many threads lead to counter productive)<br/>
  11. Avoid boxing, un-boxing<br/>
  12. Give attention to compiler warnings <br/>
  13. Number of threads should be equal or lesser than the number of core<br/></p>
  
  <p>Low-latency application is tuned for every milli-seconds.</p>