静态模式下oracle提供的JDBC驱动,resultSet.next()方法使用之后,那上一条数据内存释放?还是被oracle缓存起来?动态模式呢?
如果是sqlserver的驱动呢,使用这个方法之后处理方式又是如何?
MYsql的也顺便谈谈吧。

解决方案 »

  1.   


    1、数据库本生有自己的缓存机制
    2、JDBC不会缓存数据,ResultSet 对象具有指向其当前数据行的指针
      

  2.   

    那next下一行之后,上一行的数据所占的内存就释放了?还是等到连接关闭的时候释放?
      

  3.   

    ResultSet相当于一个容器 感觉和HashSet差不多   
      

  4.   

    Query's Result set type is TYPE_FORWARD_ONLY.
      

  5.   

    在res关闭前,所占内存不会被释放
    数据被取出后,就和oracle没关系了,这时oracle数据改变,也不会影响resultset
    静态动态没听说过,不了解
      

  6.   

    第二点没说清,resultset设为TYPE_SCROLL_INSENSITIVE时,数据库改变不影响结果集