background image

Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用
者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的
Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless 
Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内
存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。

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

10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻
辑与(and)。

11、HashMap 和 Hashtable 的区别。

 HashMap 是 Hashtable 的轻量级实

现(非线程安全
的实现),他们都完成了 Map 接口,主要区别在于 HashMap 允许空(null)键值
(key),由于非线程安全,效率上可能高于 Hashtable。
HashMap 允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。
HashMap 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和
containsKey。因为 contains 方法容易让人引起误解。 Hashtable 继承自
Dictionary 类,而 HashMap 是 Java1.2 引进的 Map interface 的一个实现。
最大的不同是,Hashtable 的方法是 Synchronize 的,而 HashMap 不是,在多个
线程访问 Hashtable 时,不需要自己为它的方法实现同步,而 HashMap 就必须
为之提供外同步。
Hashtable 和 HashMap 采用的 hash/rehash 算法都大概一样,所以性能不会有很
大的差异。

12、final, finally, finalize 的区别。 final 用于声明属性,方法和类,分
别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构
的一部分,表示总是执行。finalize 是 Object 类的一个方法,在垃圾收集器执
行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资
源回收,例如关闭文件等。

13、sleep() 和 wait() 有什么区别? sleep 是线程类(Thread)的方法,导致
此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到
时后会自动恢复。调用 sleep 不会释放对象锁。wait 是 Object 类的方法,对此
对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只
有针对此对象发出 notify 方法(或 notifyAll)后本线程才进入对象锁定池准
备获得对象锁进入运行状态。

14、Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的类
型?
方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写