Banco de dados em memória Close ()
-
21-09-2019 - |
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).
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".