gpt4 book ai didi

java - 为什么 JDBC ResultSet 没有得到垃圾收集

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:52 26 4
gpt4 key购买 nike

我正在尝试释放 JDBC 使用的空间ResultSet通过关闭它并在 finally block 中将值设置为 null。例如:

try{
//some query executed here and resultset used to get the values from the db
}catch(Exception exp){
//log exception here
}finally{
//close resultset
if(rs != null){
rs.close();
rs = null;
}
}

当我检查 YourKit 中打开的结果集的数量时,即使所有结果集都已关闭并设置为 null,但 YourKit 并没有显示 0 个打开的结果集,而是为打开的结果集显示了一些非零值。任何人都可以在这里帮助我使打开结果集的数量为 0。

提前致谢。坦玛依

最佳答案

作为 YourKit 开发人员,我建议重现 ResultSets 在内存中时的情况(当它们不应该在内存中时)并捕获内存快照。

之后,您将能够找到从您的结果集到垃圾收集器根的路径。这将是 ResultSets 被泄露的原因。这是帮助如何使用 GC 路径的链接 http://www.yourkit.com/docs/java/help/paths.jsp

关于java - 为什么 JDBC ResultSet 没有得到垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20138849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com