或resultset在方法里关闭连接会怎么样?要怎么处理?
如果要返回statement 或者resultset 就不能关闭连接,关了的话作为返回值被传出去的statement 或者resultset 被访问到的时候就会抛出异常。连接不关不会被有异常,但程序被多次执行后就有连接被占满,不能取得连接的问题出现。

一般需要用到rs的数据,应在取得rs后,把里边的数据从新包装后返回,比如返回集合类或者bean类。在包装完成后关闭rs,state,conn。这样没问题
ResultSet org.hibernate.exception.SQLGrammarException: could not extract ResultSet?
检查下sql里是否有 role 这个字段。
看看数据库是否没有这个column。应该是sql和数据结构不匹配导致的。同时注意下role的大小写吧 ,有的时候数据库会区分大小写的。
index公式出现溢出如何解决?
解决方法:1:增大进程所占用的总内存。2:减少-Xmx或者-Xss来达到创建更多线程的目的。

怎么避免内存泄露
1.尽量少使用枚举, 因为枚举是常量的一个集合, 你只是使用其中一个, 内部的所有枚举都会加载出来
2.尽量使用静态内部类而不是内部类,因为如果内部类中做耗时操作,因为它会持有外部类的实例对象,导致外部类的实例在生命周期结束的时候没有办法及时释放,这就造成了内存泄漏.

3.尽量使用轻量级的数据结构, 在不使用的时候及记得即使使用clear()方法
4.养成关闭连接和注销监听器的习惯, 在开启任何东西前把关闭都放在finally代码块中
在java 编程中,我们都需要和监听器打交道,通常一个应用当中会用到很多监听器,我们会调用一个控件的诸如addXXXListener()等方法来增加监听器,但往往在释放对象的时候却没有记住去删除这些监听器,从而增加了内存泄漏的机会。
数据库连接(dataSourse.getConnection()),网络连接(socket)和io连接,除非其显式的调用了其close()方法将其连接关闭,否则是不会自动被GC 回收的。对于Resultset 和Statement 对象可以不进行显式回收,但Connection 一定要显式回收,因为Connection 在任何时候都无法自动回收,而Connection一旦回收,Resultset 和Statement 对象就会立即为NULL。但是如果使用连接池,情况就不一样了,除了要显式地关闭连接,还必须显式地关闭Resultset Statement 对象(关闭其中一个,另外一个也会关闭),否则就会造成大量的Statement 对象无法释放,从而引起内存泄漏。这种情况下一般都会在try里面去的连接,在finally里面释放连接。
5.谨慎使用static关键字, 使用static表示这是一个静态量, JVM就会立即加载它, 如果不使用的话有一定的内存浪费
6.谨慎使用单例模式, 单例模式好是好, 但是还是要确保这个单例一定是常使用到的, 而且最好是使用双重检验的英俊的航空模式下的单例模式
myeclipse怎么取出数据库中的数据做比较?
直接通过el表达式,将获取到的list对象定义为news,之后将数据库获取到的对象循环展示即可,举例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
用户ID
...
//表头
//获取list
${news.XXX}
//拿出javabean的属性
${news....}
//拿出javabean的属性
到此,以上就是小编对于resultset的常用方法的问题就介绍到这了,希望这4点解答对大家有用。