首页 > 代码库 > 【Java基础】Java面试题目整理与解说(二)

【Java基础】Java面试题目整理与解说(二)

1.CollectionCollections的差别。

Collection是集合类的上级接口,继承于他的接口主要有Set List.
Collections
是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 

2.HashMapHashtable的差别。 

HashMap Hashtable 的轻量级实现(非线程安全的实现),他们都完毕了Map 接口,HashMap是非线程安全,效率上可能高于Hashtable在多个线程訪问 Hashtable 时,不须要自己为它的方法实现同步,而 HashMap 就必须为之提供外同步。

HashMap 同意将null 作为一个entry key 或者value,而Hashtable 不同意。

HashMap Hashtable contains 方法去掉了,改成containsvalue containsKey。由于contains 方法easy让人引起误解。Hashtable继承自 Dictionary类,而 HashMapJava1.2引进的 Map interface的一个实现。


Hashtable HashMap 採用的hash/rehash 算法都大概一样,所以性能不会有非常大的差异。


3.sleep()wait()有什么差别

sleep 是线程类(Thread)的方法,导致此线程暂停运行指定时间,给运行机会给其它线程,可是监控状态依旧保持,到时后会自己主动恢复。调用sleep 不会释放对象锁。
wait Object 类的方法,对此对象调用wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,仅仅有针对此对象发出notify 方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入执行状态。 


4.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;(s1+1运算结果是 int型,须要强制转换类型)short s1 = 1; s1 += 1;(能够正确编译)


5.Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)==12
Math.round(-11.5)==-11
round
方法返回与參数最接近的长整数,參数加1/2 后求其floor.