1.运行时异常与一般异常有何异同?
运行时异常表示虚拟机在操作中可能遇到的异常,如空指针、数组越界等,是一种运行时错误;
一般异常表示程序运行过程中可能出现的非正常状态,非运行时异常须声明、如SQLException、IOException等。
2.说出servlet的生命周期,并说出servlet和CGI的区别?
servlet的生命周期:加载、实例化、初始化-init()、处理请求-service()、销毁destroy();
在实训过程并没有接触到CGI,上网了解servlet与CGI的区别是:
servlet处于服务器的进程中,一个实例可服务于多个请求,且不被销毁;而CGI为每个请求产生一个进程,服务结束后销毁,效率上低于servlet
3.说出ArrayList、Vector,LinkedList的存储性能和特性?
ArrayList是使用数组方式存储,Vector也是;
但vector使用同步方法锁定,线程安全,性能上较ArrayList差;
而LinkedList使用双向链存储,插入数据速度相对前二者快;
4.HashMap与HashTable的区别?
1) HashMap是非同步,非线程安全,效率快,HashTable反之。
2) hashMap允许有空键值,而HashTable不允许;
5.final、finally、finalize的区别?
final用于声明属性、方法、类,表示属性不可变,方法不可重写,类不可继承;
finally用于在处理异常时提供finally块来表示总是执行;
而finalize是方法名,由垃圾收集器在确认对象无引用时对该对象调用;
6. overload和override的区别,overload方法是否可以改变返回值的类型?
overload-重载,即同一类中可以有多个方法名相同,参数不相同;
override-重写,即子类方法和父类方法和名称和参数完全相同,若子类对象调用该方法时,仅调用子类中定义的方法,父类的方法被屏蔽;
可以改变返回值的类型,如void改变为int。
7.forward和redirect的区别?
1) 对于地址栏来说,forward的请求地址不变,内容是目标地址读取的过来的,而redirect有地址变化;
2)对于数据来说,forward是数据共享的,在转发页面和转发的目标页面间;而redirect没有共享;
3)对于效率来说,forward效率较高;
4)对于应用来说,forward用于数据列表、用户登陆等;而redirect用于增删改操作等,表示已完成一件事情。
8. String s = new String("xyz");创建了几个String Object?
"xyz"是一个;new String是一个;
9. 说说数据库连接池的工作机制是什么?
J2EE服务器启动时,会建立一定数量的池连接,并一直维持不少于此数目的池连接;
若客户端需要连接数据库,池连接被标记录“忙”;当使用池连接调用完成后,池连接将被标记为“闲”;
10. 说说hibernate的工作原理是什么?
1) 读取和解析配置文件;
2)读取和解析映射信息,创建SessionFactory;
3)创建Session和打开事务
4)持久化操作
5)关闭事务和session;
6)关闭SessionFactory;