1. Servlet的生命周期是什么?
答:
第一次请求: 构造方法->init() -> service() -> doGet()/doPost() 以后的请求:service() -> doGet()/doPost(); Servlet是单实例的.2. 说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的差别
答:
ArrayList Vector:以数组的方式存储,增、删慢,查、改快 ArrayList:线程不安全,速度快。Vector:线程安全,速度慢( synchoronized add() ) LikedList: 以双链表的方式存储,增、删快,查、改慢 HashMap与Hashtable都实现的Map接口,HashTable线程安全( add,del -> synchronized)。HashMap线程不安全。
拓展:什么叫线程安全和不安全呢? 线程安全就是多线程訪问时,採用了加锁机制,当一个线程訪问该类的某个数据时,进行保护。其它线程不能进行訪问直到该线程读取完。其它线程才可使用。不会出现数据不一致或者数据污染。
线程不安全就是不提供数据訪问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据
3. 事务是什么?事务的四大特性?
jdbc怎样做事务处理?
答:
事务是对数据操作的一个单个逻辑单元,这个单元有可能有多个操作,要不同一时候成功,要不同一时候失败;特点是原子性, 隔离性, 一致性, 持久性. JDBC做事务操作:connection.setAutoCommit( false); connection.commit(); connection.rollback(); connection.setAutoCommit( true);
4. 作用域public、protected、private以及不写时的差别?
答:
类内部 | 本包 | 子类 | 外部包 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
5. 在spring中,什么是IOC?什么是DI?
答:
IOC是控制反转,所谓反转是指应用本身并不负责依赖对象的创建和维护,而把这个任务交给第三方即Spring去处理,这是将创建对象的权利交给第三方,控制反转就是控制权的转移DI是依赖注入.依赖注入,是指执行期间,Spring动态的将依赖对象注入到组件中。当IOC容器启动时,容器负责创建容器内的全部对象; 依据配置信息形成对象之间的依赖关系; 也就是说让别人(ioc)为你服务。这是核心。