This is actually a very complex issue. A few guidelines: The init() method is guaranteed to be called once per servlet instance, when the servlet is loaded. You don't have to worry about thread safety inside this method, since it is only called by a single thread, and the web server will wait until that thread exits before sending any more threads into your service() method. Example shows the complete servlet. It extends HttpServlet and implements dejoode.tk interface lets the servlet container know that this servlet is not thread safe, and it should use a different instance of this class for each concurrent thread. This is list of some Java fundamental questions and answers, which are commonly asked in a Core Java interview for Experienced Developers. As a senior and matured Java Programmer you must know the answers to these questions to demonstrate basic understanding of .