J2EE面试必备:Hashtable、HashMap与HashTable对比解析

需积分: 8 2 下载量 6 浏览量 更新于2024-10-08 收藏 44KB DOC 举报
"J2EE面试题集锦(附答案)" 在J2EE面试中,了解基础类的继承性、抽象类与接口的区别、数据结构的实现原理以及J2EE的相关概念是至关重要的。以下是对这些知识点的详细阐述: 1. 可继承性的类: - java.lang.Thread(T): 可以被继承,用于创建和管理线程。 - java.lang.Number(T): 是所有数值类型父类,可以被继承,如Integer、Double等。 - java.lang.Double(F): 不可被继承,因为它是Number的子类。 - java.lang.Math(F): 不可被继承,因为它是一个final类。 - java.lang.Void(F): 不可被继承,代表没有返回值的类型。 - java.lang.Class(F): 不可被继承,用于表示Java类的类型信息。 - java.lang.ClassLoader(T): 可以被继承,用于加载类。 2. 抽象类与接口的区别: - 多实现:接口可以被一个类多重implements,而抽象类只能被单一extends。 - 实现方式:接口只有方法声明,没有实现;抽象类可以包含方法声明和部分实现。 - 字段声明:接口字段默认为public static final,抽象类字段默认为包可见(friendly)。 3. Hashtable和HashMap的区别: - 散列原理:两者都基于散列函数进行存储,但具体实现细节不同。 - 同步性:Hashtable是线程安全的,适合多线程环境;HashMap不是线程安全的,如果需要线程安全,通常会在多线程环境下使用Collections.synchronizedMap()来包装HashMap。 - null值支持:Hashtable不支持null键和null值,而HashMap允许null键(但仅能有一个)和null值。 4. forward和redirect的区别: - forward(转发):服务器内部操作,请求从一个Servlet转发到另一个Servlet,客户端浏览器地址栏URL不变,且请求参数、属性保持。 - redirect(重定向):客户端操作,浏览器收到重定向响应后发起新的HTTP请求,URL改变,之前的请求参数和属性不会保留。 5. Web容器: - Web容器是实现J2EE规范中Web应用协议的应用,它负责管理Web组件(如Servlets、JSPs),提供并发控制、安全性、生命周期管理等功能。 6. J2EE相关名词解释: - JNDI(Java Naming and Directory Interface):提供一个目录系统,使得分布式应用程序可以查找和定位服务。 - JMS(Java Message Service):用于不同应用程序间通信,支持点对点和发布/订阅模型。 - JTA(Java Transaction API):提供分布式事务处理,确保跨多个系统的事务一致性。 - JAF(Java Authentication and Authorization Framework):安全框架,允许开发者定制安全策略。 - RMI(Remote Method Invocation):远程方法调用,使Java对象可以在不同的Java虚拟机之间进行通信。 掌握这些基础知识对于J2EE开发人员来说至关重要,不仅有助于理解代码工作原理,还能在面试中表现出扎实的技术功底。