面试题-Java API篇

来源:互联网 发布:napa软件建模案例 编辑:程序博客网 时间:2024/05/16 15:36

  最近得空,就去一些招聘网站做了些面试题,为方便大家共同学习,Java API相关的就在这篇博客里记录一下,以后有空会持续更新,大家有更好的答案也可以留言告诉我。
 面试题-Java算法篇 传送门
 面试题-Android篇 传送门

1. HashMap和Hashtable的区别

  • Hashtable 继承自 Dictiionary 而 HashMap继承自AbstractMap。
  • HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
  • Hashtable使用contains方法去查看是否包含某一对象,HashMap使用containsvalue和containsKey。
  • 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步(Collections.synchronizedMap)。

2. Collection和Collections的区别

  Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式;
  Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架

3. sleep()和wait()有什么区别?

  sleep()方法是属于Thread类中的。而wait()方法是属于Object类中的。

  sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。

  而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。

0 0
原创粉丝点击