很简单的问题

S2008G 2008-04-02 03:28:38
Statementstm=null; connection con = null;

具体解释一下什么意思``
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fu_wie 2008-04-02
  • 打赏
  • 举报
回复
Statementstm=null;
connection con = null;

是声明了这个两个对象的引用,并且让他们只向了一个空.
如果这样就直接拿来用的话 会抛出空指针异常.

这就像你声明了一个变量 int a=0;
a = 9;
的道理和
Connectiofn con = null;
Connection con = DriverManager.getConnection(".....");
它很相似
hmsuccess 2008-04-02
  • 打赏
  • 举报
回复
Statementstm=null; connection con = null;
及时释放资源,可通过gc来回收对象
wangjiajuan 2008-04-02
  • 打赏
  • 举报
回复
不是直接的释放对象所占的资源,因为这样垃圾回收器也不见得就一定会回收.只是这样的几率会大一点.
晓筱时代 2008-04-02
  • 打赏
  • 举报
回复
Statement stm=null表示Statement的对象不指向任何东西, 这时候如果你操作了stm对象,就会抛出一个空指针异常(NullPointerException),在操作数据库结果的时候,通常在关闭了Statement、Connection对象(即调用stm.close();)后,要把对象置空,这样可以防止多线程里同步引起的问题。
比如在对象池里有若干连接对象,C1,C2,C3,我们在用完C1后,调用c1.close();此时c1对象归还给对象池,这时候c1对象又被另一个B线程引用,而在我们的程序中,可能会因为把关闭对象的操作放在try{}catch{}default中多次关闭,所以在B线程中再操作c1的时候就会产生异常。所以一般在关闭了连接对象后一般还要将它置空。
S2008G 2008-04-02
  • 打赏
  • 举报
回复
Statement stm=null; Statement 叫数据库操作对象,可以通过这个对象对数据库进行,增 删 改 查 等操作
那目前的这是什么操作?

Connection con = null; Connection 叫数据库连接对象,可以通过该对象与数据库连接
SO ```
fu_wie 2008-04-02
  • 打赏
  • 举报
回复
Statement stm=null; Statement 叫数据库操作对象,可以通过这个对象对数据库进行,增 删 改 查 等操作

Connection con = null; Connection 叫数据库连接对象,可以通过该对象与数据库连接 .


应该是先 连接 后 操作

miaoliujun 2008-04-02
  • 打赏
  • 举报
回复
在内存中释放这些变量

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧