Закрыть базу данных в памяти()
-
21-09-2019 - |
Вопрос
Необходимо ли закрывать результирующие наборы, инструкции и соединения в базе данных в памяти?
Моя Java-программа использует HSQLDB для создания "таблицы памяти" и заполнения ее данными, к которым она позже запрашивает.Здесь нет настойчивости.Все делается в памяти.Программа является однопоточной и имеет только одно подключение к базе данных (т.е.нет пула подключений к базе данных).
Решение
Всегда лучше закрыть ваши объекты jdbc - в противном случае вы рискуете получить утечку памяти.
Прочитайте (по крайней мере) пункты 6 и 7 из Эффективная Java, Глава 2 - они более или менее связаны.
Другие советы
- соединения:определенно (поскольку база данных может иметь ограничение на подключение;в случае, если вы разместите его на другом сервере, также возникнут накладные расходы на сеть)
- другие объекты:базе данных может быть все равно, но ваша JVM тоже хранит их в памяти (и не будет их собирать).
Кроме того, это хорошая практика - убирать за собой, чтобы у вас было лучшее представление о том, "с чем я сейчас работаю".