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的常用方法及其描述是什么?
- close(), 关闭该数据库连接
- commit(), 提交所有更改内容并释放该Connection对象锁定的资源
- createStatement(), 基于本Connection对象,创建Statement对象
- getAutoCommit(), 获取当前是否是自动提交模式
- getMetaData(), 获取本连接相关的数据库元数据
- isClosed(), 返回当前连接对象是否已经被关闭
- preparedStatement(), 基于本连接对象,创建PreparedStatement对象
- rollback(), 取消本轮事务中前面已经提交的更改
- 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 第一次执行慢之后就快了 效率高