好的,所以我有这个程序有很多(~300)个线程,每个线程都与一个中央数据库通信.我创建了一个到DB的全局连接,然后每个线程都会创建业务创建语句并执行它们.
在某个地方,我有一个巨大的内存泄漏.在分析堆转储后,我看到com.mysql.jdbc.JDBC4Connection对象是70 MB,因为它在"openStatements"(哈希映射)中有800,000个项目.在某个地方它没有正确地关闭我创建的语句,但我不能为我的生活弄清楚在哪里(每次打开一个,我也关闭它).有什么想法可能会发生吗?
java mysql memory-leaks jdbc
java ×1
jdbc ×1
memory-leaks ×1
mysql ×1