1. ArrayList与LinkedList之间有什么区别?
ArrayList与LinkedList都实现了List接口,ArrayList的底层其实质上就是一个数组,ArrayList可以说是数组的加强版,而LinkedList底层是由一个双向链表组成。ArrayList元素查找的效率比较高,而LinkedList插入、删除元素的效率较高。
2. 什么情况下使用ArrayList是可能发生线程安全问题的?
使用ArrayList作为一个共享变量的时候是有可能出现线程安全问题的,因为ArrayList的底层操作没有进行加锁,但是如果是将ArrayList作为局部变量使用的话则不会出现该问题。
3. 你如何优化SQL执行效率?
可以从以下四个方面入手:
- 在查询中,避免使用*号,而是应当把需要查询的字段写全。
- 可以调整form表名顺序,选择最有效率的顺序。
- 调整where条件的顺序,将那些可以过滤掉最大记录数的放在最后面,把表连接条件写在最前面。
- 可以适当的加入索引提高SQL的数据检索效率。
4. 你所了解的jsp内置对象有哪些?
request、response、cookie、session、application、page、pageContext
5. Error与Exception之间有何区别?
Error表示的是恢复起来不是不可能,只是恢复起来比较困难的一种错误类型,而Exception表示的是程序运行过程中发生的不正常状况,Exception可以通过异常处理语句捕获并处理。