初级Java工程师面试所遇面试题

1.servlet的生命周期 :

一、百度百科 :

1、客户端请求servlet;

2、加载servlet类到内存;

3、实例化并调用init()方法初始化servlet;

4、调用service()方法;

5、加载和实例化servlet。

二、菜鸟教程 :

1、servlet调用init()方法进行初始化;

2、service调用service()方法处理客户端请求;

3、service调用destroy()方法终止;

4、JVM垃圾回收器对servlet进行垃圾回收。

2、List的子类 :

一、ArrayList子类 :

1、底层数据结构是数组;

2、查询快,增删慢;

3、线程不安全,效率高;

4、add()添加元素,get(index)获取元素;

二、Vertor :

1、底层数据结构是数组;

2、查询快,增删慢;

3、线程安全,效率低;

4、addElement()添加元素,elementAt(index)获取元素;

三、Linkedlist :

1、底层数据结构是链表;

2、查询慢,增删快;

3、线程不安全,效率高;

4、addFirst()添加在首,addLast()添加在尾,getFirst(),getLast()获取元素,removeFirst(),removeLast()删除元素;

3、for遍历与迭代器遍历的区别 :

一、iterator迭代器:

1、适用于连续内存存储方式,例如数组,ArrayList;

2、优点 : 可以实现一边遍历一边删除;

3、只能从头开始遍历;

二、for each遍历:

1、底层基于iterator实现,也是从头开始遍历,但是效率会慢与iterator迭代,因为多出类型转换;

2、不允许一边遍历一边删除,会抛出异常;

三、for 遍历 :

1、优点:可以从指定位置遍历,性能好;

2、缺点 :会有额外的代码产生;而且不能一边遍历一边删除,否者会抛出异常;

上一篇:Android_view的生命周期


下一篇:Struts2知识点学习笔记