Pergunta

Em um banco de dados na memória, é necessário fechar resultados, declarações e conexões?

Meu programa Java usa o HSQLDB para criar uma "tabela de memória" e preencher -o com dados, que ele posteriormente consulta. Não há persistência. Tudo é feito na memória. O programa é um thread único e possui apenas uma conexão de banco de dados (ou seja, nenhum pool de conexão de banco de dados).

Foi útil?

Solução

É sempre melhor fechar seus objetos JDBC - caso contrário, você arrisca vazamentos de memória.

Leia (pelo menos) itens 6 e 7 de Java eficaz, capítulo 2 - Eles estão mais ou menos relacionados.

Outras dicas

  • Conexões: Definitivamente (como o banco de dados pode ter um limite de conexão; caso você o colocasse em um servidor diferente, também há sobrecarga de rede)
  • Outros objetos: o banco de dados pode não se importar, mas sua JVM os mantém na memória também (e não os gc).

Além disso, é uma boa prática limpar depois de si mesmo, para que você tenha uma melhor visão de "o que estou trabalhando agora".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top