标题:JAVA 程序员面试至尊宝典 发行:裕祥科技工作室 发行时间:yyyy 年 MM 月
整理:小明 Q Q: ********* Email:********@126.com
说明:本资料由网上搜集与面试经验结合,任意转载,如有建议请及时联系我,谢谢大家合作
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具
有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当
引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为
#/,而原始类型实例变量的缺省值与它们的类型有关。
、和 的区别
平台提供了两个类:2,-#& 和 2,-#&6/9"-,它们可以储存和操作字符串,即包含
多个字符的字符数据。这个 2,-#& 类提供了数值不可改变的字符串。而这个 2,-#&6/9"- 类
提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用 2,-#&6/9"-。典型地,
你可以使用 2,-#&6/9"- 来动态构造字符数据。
、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可
能遇到的异常,是一种常见运行错误。
01 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出
未被捕获的运行时异常。
、说出 的生命周期,并说出 和 的区别。
2"-1", 被服务器实例化后,容器运行其 #, 方法,请求到达时运行其 "-1(" 方法,
"-1(" 方法自动派遣运行与请求对应的 *%::: 方法(*%;",,*%<%,)等,当服务器决定
将实例销毁的时候调用其 *",-%+ 方法。
与 (& 的区别在于 "-1", 处于服务器进程中,它通过多线程方式运行其 "-1(" 方法,
一个实例可以服务于多个请求,并且其实例一般不会销毁,而 ; 对每个请求都产生新的进程,
服务完成后就销毁,所以效率上低于 "-1",。
、说出 !" #$ 的存储性能和特性
--+, 和 "(,%- 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便
增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存
操作,所以索引数据快而插入数据慢,"(,%- 由于使用了 +#(!-%#="* 方法(线程安全),
通常性能上较 --+, 差,而 #>"*, 使用双向链表实现存储,按序号索引数据需要进行
前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
%、"!"和 "!" 的区别。
%"(,%# 是集合类的上级接口,继承与他的接口主要有 2",和 ,
%"(,%# 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、
排序、线程安全化等操作。
&、'和''的区别。
?是位运算符,表示按位运算,??是逻辑运算符,表示逻辑与(#*)。
、()*+ 和 (), 的区别-都完成了 *+ 接口.。
@!AB 是 @!,)" 的轻量级实现(非线程安全的实现),他们都完成了 AB 接口,
主要区别在于 @!AB 允许空(#/)键值(>"+)C由于非线程安全,效率上可能高于
@!,)"。@!AB 允许将 #/ 作为一个 "#,-+ 的 >"+ 或者 1/",而 @!,)" 不允
许。
@!AB 把 @!,)" 的 (%#,# 方法去掉了,改成 (%#,#1/" 和
(%#,#D"+。因为 (%#,# 方法容易让人引起误解。 @!,)" 继承自 8(,%#-+ 类,
而 @!AB 是 1 引进的 AB#,"-E(" 的一个实现。
最大的不同是,@!,)" 的方法是 2+#(!-%#=" 的,而 @!AB 不是,在多个线程
访问 @!,)" 时,不需要自己为它的方法实现同步,而 @!AB必须为之提供外同步。
@!,)" 和 @!AB 采用的 !!F-"!! 算法都大概一样,所以性能不会有很大的差异。
、/ / /0 的区别。
3#用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
3#+ 是异常处理语句结构的一部分,表示总是执行。
本宝典零售 10 元一本,20 本起批 8.5 元一本,因只要成本费,邮寄请付邮资。如需要请联系我。第 2 页/共 53 页
评论0
最新资源