JFinal的回收机制

发布于 2021-11-29 13:29:52 字数 1216 浏览 657 评论 2

利用Jfinal操作数据库的时候一直报内存溢出错误,修改了虚拟机的大小,还是在报错,所以我想知道JFinal的数据库链接什么的一些资源是不是自动回收;

代码:

      public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password").trim());
        me.add(c3p0Plugin);
        // 配置ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
        me.add(arp);
        arp.addMapping("user", User.class);    // 映射user 表到 User模型
        arp.addMapping("car", Car.class);    // 映射car 表到 Car模型
    }

操作数据库的时候:

      String sql = "insert into user(name, age,car_num,tel) values(?,?,?,?)";
      int[] result = Db.batch(sql, "name, age,car_num,tel", recordList, 100000);




如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

德意的啸 2021-11-29 19:46:46

如果数据库操作有内存泄露,早就有Bug报出来了,,,根本不会等到现在

我看过取DB连接的源码,也修改,源代码没有问题。。。

可是我不能没有你 2021-11-29 16:03:36

    报内存溢出,可能是在短时间内反复多次加载了比较占内存的数据,JVM 来不及回收就挂掉了。另一个可能是项目中存在内存泄漏的代码。

    JFinal 数据库操作部分,每次操作完都会在 finally 代码块中立即关闭 ResultSet、Statement、Connection 这三对象,资源会立即释放,不会有内存泄漏。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文