java - SQLite java 内存使用量不断增加,直到出现内存不足异常

标签 java sqlite out-of-memory

我在 java 程序中使用 SQLite。当java程序运行时,多个查询被发送到数据库,并且临时表在内存中创建然后被删除(使用DROP)。

问题在于,当数据库中的各种操作数量增加时,java程序的内存使用量也会增加。结果,程序在某个时候崩溃并出现内存不足异常。 我使用 PRAGMA temp_store = 2 将临时表保留在内存中,但每次在构建另一个临时表之前我都会删除(使用 DROP 表名)。

这与数据库保存的日志有什么关系吗? 我该如何解决这个问题?

最佳答案

如果不查看你的程序,就不可能说出问题是什么。您是否将针对数据库运行的查询结果保留在内存中?如果您的程序是以这样的方式编写的,即您有多个大型 JDBC 结果集,并且垃圾收集器无法确定天气,那么可以安全地释放它们使用的内存,您很容易就会耗尽内存。

关于java - SQLite java 内存使用量不断增加,直到出现内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185070/

相关文章:

android - 如何在android中使用Service更新sqlite数据库

java - 按属性隔离列表

java - 将字符串从 Java 程序传递到 Python 程序

Perl 和 Sqlite

java - Android XML 位图和 OutOfMemoryError

java - fillReport 函数期间 PermGen Space 错误

android - 在maven中构建android项目时出现内存不足错误

java - 计数排序比快速排序好吗?

Java:列出方法中使用的字段

ios - 使用核心数据更新对象会插入一条新记录