Java基础问题记录(菜鸟记录,勿喷)

来源:互联网 发布:淘宝客订单一直失效 编辑:程序博客网 时间:2024/05/21 09:30

1.一个servlet实例在什么时候创建,什么时候销毁?

an:一个servlet只有一个实例,由容器自动生成,只有当向服务器发出请求(当第一个人访问的时候就会产生一个servlet对象,并对其进行初始化)或者 在web.xml里面设置初始化init方法的时候,相应的servlet才会创建!
一个servlet可以调用destroy方法来销毁,另外容器关闭的时候也会销毁该实例。

2.java设计模式

(参考:http://blog.csdn.net/zhangerqing/article/details/8194653/)

3.比较ArrayList、LinkedList、Vector

ArrayList 是一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、随机删除效率低。
LinkedList 是一个双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList随机访问效率低,但随机插入、随机删除效率高。
Vector 是矢量队列,和ArrayList一样,它也是一个动态数组,由数组实现。但是ArrayList是非线程安全的,而Vector是线程安全的。
Vector 和ArrayList类似,但属于强同步类。如果你的程序本身是线程安全的(thread-safe,没有在多个线程之间共享同一个集合/对象),那么使用ArrayList是更好的选择。
Stack 是栈,它继承于Vector。它的特性是:先进后出(FILO, First In Last Out)。

ps:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

参考链接:http://blog.csdn.net/qianzhiyong111/article/details/6678035

#

0 0
原创粉丝点击