servlet's once instantiated will be there for-ever in your container.(I mean until u stop sever /server crashes/explicitly u remove servlet from container) destroy method will be called only when server is going down (that is its a call back method). By default only one instance of servlet exist in your container (unless u specifically tell the container i dont want single instance by implementing SingleThread Model). Hope this helps.
The destroy() method will only be called when the application, or the server, is stopped or restarted. When a browser sends a request to a servlet, the container does not actually invoke the service() method directly, but rather creates and starts a Thread whose run() method invokes the service() method of the servlet instance in memory (always the same one, unless, confusingly, the SingleThreadModel interface is implemented by the servlet).
This way, it does not matter how many clients access the servlet at once, the container can just keep creating more threads (within reason).
I don't always make ads but when I do they're tiny
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop