首页 > 电脑

preparedstatement不是接口么?怎么还能创建对象ps还能调用方法

更新时间2019-03-07 06:02:03

preparedstatement不是接口么?怎么还能创建对象ps还能调用方法


1.你创建了100个PS的实例,但是你只关闭了最后一个。1楼说的GC会回收另外99个,没错,但GC能自动回收的只是java创建的资源。preparedstatement为jdbc得api,他还会创建跟具体数据库有关的其他资源。close方法就是用来施放那些资源的。如果你没有每个都close,会导致内存泄漏。2.不可以。------------补充:当然有非java创建的资源 jdbc可以说是一个和数据库通信的驱动。你建立jdbc的对象,调用它的方法。jdbc会去调用你使用的数据库的api,实现对数据库的操作。那些数据库的api会创建很多资源。java的gc(垃圾回收器)只会释放掉那些java对象所占的内存。无法释放数据库api创建的资源。只有通过jdbc相关的close方法才能释放。你只要记住,所有有close方法的jdbc对象在使用完成后都需要手动释放。另外,就是内存泄漏,相应的资源在内存中没有被引用,而又没有被操作系统回收。对,就是这个意思,除了JDBC还有很多根操作系统api有关的java api都有close方法,他们都是用来释放相应的非java资源的。

可以实例化接口然后继续调用对象的,满意请采纳

上一篇:查询表1a字段减表2b字段数据大于0则修改表2c字段等于T

下一篇:如何调整动态图大小