0
我在一個Java程序中使用SQLite。在運行java程序時,會向數據庫發送多個查詢,並在內存中創建臨時表,然後刪除(使用DROP)。SQLite Java內存使用增加,直到一個outofmemory異常
問題是,儘管數據庫中各種操作的數量增加,但來自java程序的內存使用量也增加了。結果,該程序在某個時刻崩潰,並且存在一個超出內存的異常。 我使用PRAGMA temp_store = 2來將臨時表保存在內存中,但是在構建另一個表之前我每次都刪除(使用DROP表名)。
這是否必須對數據庫保存的日誌執行任何操作? 我該如何解決這個問題?
是的,我在內存中保留結果集來處理它,但我認爲垃圾收集器會在某個時間點收集它。我使用了Runtime.getRuntime()。gc(),但沒有任何區別。我如何明確擺脫結果集? – zhna 2010-02-02 15:47:23
resultSet = null; – Jared 2010-02-02 17:35:05
非常感謝!現在一切正常:) – zhna 2010-02-02 20:40:40