JFinal的回收机制

java_dotar 发布于 2015/04/02 09:42
阅读 256
收藏 0

利用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);




加载中
1
JFinal
JFinal

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

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

0
糊搞

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

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

返回顶部
顶部