文档介绍:java笔试题目及答案(大唐电信)
1. Java如何实现多态,实现的主要方法。
java是借助方法的重写和重载实现多态。
重载的特性,,传入方法的参数不同(包括个数和类型).
重写的特性,方法名相同,返回类型,参数均相同,必须发生在子类.
2. Hashtable\hashmap有什么区别,hashmap实现的算法思想,多个任意长度的值进行hash操作,得出的hash值是否相等?
是继承自陈旧的Dictionary类的,Has¤hMap继承自AbstractMap聘类同时是Java引进的Map接口的一┏个实现。
shtable的方法是同步的,而HaㄏshMap的方法不是。
,只有HashMap可以让你将空豹值作为一个表的条目的key或valu揪e。HashMap中只有一条记录可以钲是一个空的key,但任意数量的条目可锄以是空的value。这就是说,如果在琪表中没有发现搜索键,或者如果发现了搜植索键,但它是一个空的值,那么get(讶)将返回null。如果有必要,用co
郗ntainKey()方法来区别这两种镱情况。
去掉了Hashtable的contains方法,保留了conta拟insValue和containsK措ey方法
中hash数组默认大小是1蹑1,增加的方式是old*2+1。Ha玫shMap中hash数组的默认大小是雪16,而且一定是2的指数
,val钫ue,next,从属性key,val荚ue我们就能很明显的看出来Entry基就是HashMap键值对实现的一个基础bean,我们上面说到HashMaかp的基础就是一个线性数组,这个数组就冶是Entry[],Map里面的内容都僬保存在Entry[]里面。
%是线性数组,为什么能随机存取?这里H煳ashMap用了一个小算法,大致是这竺样实现:
 Java代码 
1. 存ェ储时: 
2. 
3. inthas昀h=();-->这个hashCode鹫方法这里不详述,只要理解每个key的柒hash是一个固定的int值 
4. 本
5. intindex=has悛h%Entry[].length; 减
6. 
7. Entry[index]=value; 
8. 
9. 尖取值时: 
10. 
11. int善hash=(); 
12. 
 intindex=hash%Ent菹ry[].length; 
14. 
15. returnEntry[in仪dex] 
3. 画出语句strin樯gstr=newstring(“ab跬c”)执行后的内存状态,说明stri偾ng、stringbuffer的区别硎,两种如何相互转换?
4. 说明in忆putstream和inputstr绋eamreader的区别
InputStream是字节流
reader是掀字符流
inputstreamrea涔der是将字节流转换成字符流,是上面綦两者的转换类。
5. Java实现多熬线程的方法有哪些?什么情况需实现线程卤同步,线程同步的方法有哪几种?
多线程有两种实现方法。一种是继承Thre何ad类,一种是实现Runnable接埤口! 
在多个线程同时访问互斥数据时,应该同步以保护数据,确保两个线程不会同时修改更改它。
同步有两种方法。外一种同步方法,一种同步代码!分别是s沅ynchronized,wait与n帔otify
6. Xml解析方式有哪煜几种,有什区别?
Dom解析在内存中鹋创建一个DOM树,该结构通常需要加载觌整个文档然后才能做工作。由于它是基于黑信息层次的,因而DOM被认为是基于树峻或基于对象的,树在内存中是持久的,因②此可以修改它以便应用程序能对数据和结Ю构作出更改能随机访问文件内容,也可以瘌修改原文件内容.
SAX解析SAX处轱理的优点非常类似于流媒体的优点。分析侏能够立即开始,而不是等待所有的数据被骱处理。SAX解析器采用了基于事件的模
∞型,它在解析XML文档的时候可以触发祈一系列的事件,当发现给定的tag的时孓候,它可以激活一个回调方法,告诉该方钣法制定的标签已经找到。而且,由于应用程序只是在读取数据时检查数据,因此不嗖需要将数据存储在内存中。这对于大型文何档来说是个巨大的优点线性解析,不能随ト机访问,也无法修改原文件
 JDOM饷解析JDOM的目的是成为Java特定邀文档模型,。这在某些方面简化了舁API,但是也限制了灵活性。第二,A