面试题汇总解答(一)    

 1、int 和 Integer区别

int:是基本类型,默认值为0,一般用于数值计算

Integer:int的包装类,作为对象使用,包装里一个int类型的字段,默认值为null,大多用于类型转换和需要对int作为对象使用时出现。


2、HashMap和HashTable区别

HashMap HashTable的轻量级实现,非线程安全的,在多线程情况下需要同步,并且允许null的key和value。

HashTable 线程安全,不允许null的key和value,不推荐使用。


附加:HashMap的同步问题可通过Collections的一个静态方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。


3、String和StringBuffer区别 stringbuilder

string:固定长度,创建后不可变。进行修改时需要附加新的对象完成

stringBuffer:可变长度 (待完成)


4、运行异常和一般异常的定义,及区别


5、short s1=1;s1=s1+1;是否正确?short s1=1;s1+=1;是否正确?


6、Math.round(11.5)是多少?Math.round(-11.5)是多少?

Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;


7、线程启动是用run(),还是start(),两者区别是什么?


8、servlet生命周期

 

生命全过程:

加载ClassLoader

实例化new

初始化init(ServletConfig)

处理请求servicedoGetdoPost

退出服务destroy()

只有一个对象

☆API中的过程:

init()//只执行一次,第一次初始化的时候

publicvoidinit(ServletConfigconfig)throwsServletException

service()

publicvoidservice(ServletRequestreq,ServletResponseres)throwsServletException,java.io.IOException

destroy()//webapp退出的时候

publicvoiddestroy()


9、字符进行编码转换的方式

 

Stringstr=rs.getString();
str=newString(str.getBytes("iso8859-1"),"gb2312");

 

10、接口是否可以继承接口?抽象类是否可以继承接口?抽象类是否可以继承实体类?


11、list, set, Map继承自哪里?区别是什么?


答:List,Set是,Map不是。

如图:

Collection

├List

│├LinkedList

│├ArrayList

│└Vector

│ └Stack

└Set

Map

├Hashtable

├HashMap

└WeakHashMap

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java JDK不能提供直接继承自Collection的类,Java JDK提供的类都是继承自Collection的"子接口",如:List和Set。

注意:Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,或者一组key-value映射。


详细介绍:
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低
Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet
SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现)
Query接口有一个实现类:LinkList
Map接口有三个实现类:HashMap,HashTable,LinkeHashMap
HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null
SortedMap有一个实现类:TreeMap
其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对
set 一般无序不重复.map kv 结构 list 有序

12、抽象方法是否可以用static , native , synchronized?

你可能感兴趣的:(面试,题)