質問

インメモリ データベースでは、ResultSet、Statement、Connection を閉じる必要がありますか?

私の Java プログラムは、HSQLDB を使用して「メモリ テーブル」を作成し、そこにデータを設定し、後でクエリを実行します。持続性はありません。すべては記憶の中で行われます。プログラムはシングルスレッドであり、データベース接続は 1 つだけです (つまり、データベース接続プーリングなし)。

役に立ちましたか?

解決

それはあなたのJDBCオブジェクトをクローズするために常に最善です - 。そうしないと、リスクのメモリリーク

を読む(少なくとも)項目6と有効なJava(登録商標)、第2章 - 。彼らは、多かれ少なかれ関連している。

他のヒント

  • 接続:間違いなく (DB には接続制限がある可能性があるため)別のサーバーに置く場合には、ネットワークのオーバーヘッドも発生します)
  • 他のオブジェクト:データベースは気にしないかもしれませんが、JVM もそれらをメモリ内に保持します (GC は行いません)。

さらに、「自分が今取り組んでいること」をよりよく把握できるように、後片付けをすることは良い習慣です。

scroll top