There are good practices that i recommend you to read them(this list will update as soon as new practices i find):

Thread Programming:

  1. In Summary volatile keyword in Java is not a replacement of synchronized block or method but in some situation is very handy and can save performance overhead which comes with use of synchronization in Java

WEB Experiences:

  • POST method is slower than GET method
  • If you using POST method you can not use Cache Capabilities like REST architecture
  • GET Method has less Security, because every things shown in address bar