インメモリデータベース close()
-
21-09-2019 - |
質問
インメモリ データベースでは、ResultSet、Statement、Connection を閉じる必要がありますか?
私の Java プログラムは、HSQLDB を使用して「メモリ テーブル」を作成し、そこにデータを設定し、後でクエリを実行します。持続性はありません。すべては記憶の中で行われます。プログラムはシングルスレッドであり、データベース接続は 1 つだけです (つまり、データベース接続プーリングなし)。
解決
それはあなたのJDBCオブジェクトをクローズするために常に最善です - 。そうしないと、リスクのメモリリーク
を読む(少なくとも)項目6と有効なJava(登録商標)、第2章から7 > - 。彼らは、多かれ少なかれ関連している。
他のヒント
- 接続:間違いなく (DB には接続制限がある可能性があるため)別のサーバーに置く場合には、ネットワークのオーバーヘッドも発生します)
- 他のオブジェクト:データベースは気にしないかもしれませんが、JVM もそれらをメモリ内に保持します (GC は行いません)。
さらに、「自分が今取り組んでいること」をよりよく把握できるように、後片付けをすることは良い習慣です。
所属していません StackOverflow