中级Java面试题

中级Java面试题

ID:42655466

大小:27.66 KB

页数:16页

时间:2019-09-19

中级Java面试题_第1页
中级Java面试题_第2页
中级Java面试题_第3页
中级Java面试题_第4页
中级Java面试题_第5页
资源描述:

《中级Java面试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、驾途面试题目大全1.Java序列化版本号的作用答:Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。2.ArrayList和LinkedList的区别,HashMap和Hashtable的区别答:ArrayList采用的是数组形式来保存对象的,这

2、种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引但是缺点就是查找非常麻烦要丛第一个索引开始Hashtable和HashMap类有三个重要的不同之处。1、是历史原因,Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现。2、最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,在一个多线程应用程序中即可以不

3、用采取任何特殊的行为就可以用一个Hashtable,但你必须同样地为一个HashMap提供外同步。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回。这个对象的方法可以让你同步访问潜在的HashMap。这么做的结果就是当你不需要同步时,你不能切断Hashtable中的同步(比如在一个单线程的应用程序中),而且同步增加了很多处理费用。第三点不同是,只有HashMap可以让你将空值作为一个表的条目的ke

4、y或value。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。如果有必要,用containKey()方法来区别这两种情况。一些资料建议,当需要同步时,用Hashtable,反之用HashMap。但是,因为在需要时,HashMap可以被同步,HashMap的功能比Hashtable的功能更多,而且它不是基于一个陈旧的类的,所以有人认为,在各种情况下,HashM

5、ap都优先于Hashtable。关于Properties有时侯,你可能想用一个hashtable来映射key的字符串到value的字符串。DOS、Windows和Unix中的环境字符串就有一些例子,如key的字符串PATH被映射到value的字符串C:WINDOWS;C:WINDOWSSYSTEM。Hashtables是表示这些的一个简单的方法,但Java提供了另外一种方法。Java.util.Properties类是Hashtable的一个子类,设计用于Stringkeys和values。Pro

6、perties对象的用法同Hashtable的用法相象,但是类增加了两个节省时间的方法,你应该知道。Store()方法把一个Properties对象的内容以一种可读的形式保存到一个文件中。Load()方法正好相反,用来读取文件,并设定Properties对象来包含keys和values。注意,因为Properties扩展了Hashtable,你可以用超类的put()方法来添加不是String对象的keys和values。这是不可取的。另外,如果你将store()用于一个不包含String对象的Prope

7、rties对象,store()将失败。作为put()和[objectObject]get()的替代,你应该用setProperty()和getProperty(),它们用String参数。3.JVM性能优化参数有哪些答:减少使用全局变量和大对象;调整新生代的大小到最合适;设置老年代的大小为最合适;选择合适的GC收集器;4.Overload和Override的区别答:Override是重写:方法名称、参数个数,类型,顺序,返回值类型都是必须和父类方法一致的。它的关系是父子关系Overload是重载:方法名

8、称不变,其余的都是可以变更的。它的关系是同一个类,同一个方法名,不同的方法参数或返回值。备注:它们都是是Java多态性的不同表现5.接口和抽象类的区别答:抽象类的成员可以具有访问级别,而接口的成员全部public级别抽象类可以包含字段,而接口不可以,抽象类可以继承接口,而接口不能继承抽象类抽象类的成员可以具有具体实现,而接口不行抽象的子类可以选择性实现其基类的抽象方法,而接口的子类必须实现6.final,finally,finalize的区

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。