面试题2

本文深入探讨Java中所有类的父类方法,包括clone、equals等,并对比response.sendRedirect与request.getRequestDispatcher的不同用法及特点。此外,还详细解析了connection的方法如close与commit等,并阐述PreparedStatement与Statement的区别。
摘要由CSDN通过智能技术生成

6.所有类父类有哪些方法
protected Object clone()创建并返回此对象的一个副本。
boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。
protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
Class<?> getClass()返回此 Object 的运行时类。
int hashCode()返回该对象的哈希码值。
void notify()唤醒在此对象监视器上等待的单个线程。
void notifyAll()唤醒在此对象监视器上等待的所有线程。
String toString()返回该对象的字符串表示。
void wait()在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
void wait(long timeout)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void wait(long timeout, int nanos)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

7.response.sendRedirect(“”); 和reqeust.getRequestDispatcher(“”).forward(request, response);的区别 用法:
response.sendRedirect(“”); 地址栏会改变,request作用域丢失。
reqeust.getRequestDispatcher(“”).forward(request, response);转发request作用域保存,地址栏不改变。
另外两者请求次数不同。request作用域存在生命周期,一次请求一次响应,request依然存在,但是重定向是请求两次的,所以作用域丢失了。转发则反之。

8.在Java中connection的常用方法及其描述是什么?

  1. close(), 关闭该数据库连接
  2. commit(), 提交所有更改内容并释放该Connection对象锁定的资源
  3. createStatement(), 基于本Connection对象,创建Statement对象
  4. getAutoCommit(), 获取当前是否是自动提交模式
  5. getMetaData(), 获取本连接相关的数据库元数据
  6. isClosed(), 返回当前连接对象是否已经被关闭
  7. preparedStatement(), 基于本连接对象,创建PreparedStatement对象
  8. rollback(), 取消本轮事务中前面已经提交的更改
  9. setAutoCommmit(), 设置是否自动提交

9.PreparedStatement 和 Statement区别

在数据库的操作过程中,PreparedStatement 对象是一个很不起眼但是记为重要的接口对象,它继承 于Statement,并与之在两方面有所不同:
1)PreparedStatement 实例包含已编译的 SQL 语句。这就是使语句“准备好”。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创建时未被指定。相反的,该语句为每个 IN 参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX 方法来提供。
2)由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象。因此,多次执行的 SQL 语句经常创建为 PreparedStatement 对象,以提高效率。

作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。同时,三种方法 execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数。这些方法的 Statement 形式(接受 SQL 语句参数的形式)不应该用于 PreparedStatement 对象。

sql语句被执行一次的时候 使用Statement
sql语句被多次执行的时候 使用PreparedStatement 第一次执行慢之后就快了 效率高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值