Estava estudando servlets e vi que variaveis de instancia poderiam dar problemas …ok
Mas e variaveis construidar dentro do metodo service(ou doGet ou doPost enfim) , estas também podem ocasionar perca de informacoes?
Por exemplo o código abaixo que cria um new Contato e um new ContatoDAO, isto poderia dar problemas se varios usuarios chamassem esse metodo ao mesmo tempo?ja que o Tomcat só cria uma servlet?
Não, não há risco de perda, pelo menos, não devido a multi-threading.
O que pode haver é outro problema, similar. Dois objetos distintos são carregados na memória, por dois usuários, a título de exemplo, digamos que seja um cliente.
O usuário a) altera apenas o nome, e o usuário b) altera a idade desse cliente. Ambos salvam os dados. Infelizmente, um dos dois irá perder a informação. A correção disso é bem mais difícil, e envolve controlar a versão do objeto, e avisar um dos usuários de que uma alteração ocorreu enquanto ele mexia no registro. Mas essa é outra história e, geralmente, essa situação é tão rara que muita gente sequer se preocupa com ela.