Java面试重点:线程、字符串、构造器与持久化技术

需积分: 1 0 下载量 89 浏览量 更新于2024-09-09 收藏 21KB DOCX 举报
"Java面试常见问题及解析" 1. 线程操作相关方法 - `Thread` 类中,`start()` 方法用于启动线程,`run()` 方法是线程执行的主体,而 `getPriority()` 获取线程优先级。选项 C 的 `exit()` 不是 `Thread` 类的方法,而是属于 `System` 类,用于退出整个应用程序。 2. 字符串对象比较 - Java 中的字符串是对象,`==` 操作符比较的是对象的引用,而不是内容。因此,即使两个字符串内容相同,如果它们不是同一个对象实例,`==` 返回 `false`。题目中的 `str1` 和 `str2` 是不同的对象,所以 `str1==str2` 返回 `false`。 3. 构造函数理解 - 构造函数在创建对象时自动调用,选项 C 正确。A 错误,因为默认情况下,Java 类会有一个无参构造函数;B 错误,方法可以与类同名,称为重载构造函数;D 错误,一个类可以定义多个构造函数,通过方法重载实现。 4. Java 集合框架 - `LinkedList` 实现了 `List` 接口,A 选项正确。`AbstractSet` 直接继承自 `AbstractCollection`,而不是 `Set`,B 错误。`HashSet` 实现了 `Set` 接口,并没有直接继承 `AbstractSet`,但通常会使用 `AbstractSet` 作为基类来扩展,C 选项正确。`WeakMap` 不继承自 `HashMap`,它继承自 `AbstractMap`,D 错误。 5. 接口修饰符 - Java 接口中方法默认都是 public abstract 的,因此修饰符可以是 `abstract` 或者 `default`,但不能是 `private`、`protected` 或 `final`,所以答案 CD 是错误的。在 Java 8 中,接口可以包含默认方法(`default`),但题目可能基于较早的 Java 版本。 6. MVC 设计模式 - MVC(Model-View-Controller)模式的主要目的是在逻辑上将视图、模型和控制器分开,提高代码的可读性和可维护性,选项 C 描述了 MVC 的核心目的。 7. Hibernate ORM 框架 - Hibernate 是一个流行的 ORM(对象关系映射)框架,提供了对象到数据库表的映射功能,简化了数据持久化的编码。但它并不是 JDBC 的替代技术,而是与 JDBC 结合使用,提供了更高层次的抽象,选项 C 错误。 8. Hibernate ORM 框架(重复问题) - 这个问题与问题7相同,不再赘述。 9. Hibernate HQL 查询 - Hibernate Query Language (HQL) 是一种面向对象的查询语言。执行 HQL 查询后,返回的结果通常是一个 `List` 实例,包含了查询结果对应的对象。当查询结果只有一条时,也可以通过类型转换获取单个对象,但原始返回类型仍然是 `List`。 这些面试题覆盖了 Java 基础(如线程、字符串、构造器)、集合框架、设计模式以及 ORM 框架 Hibernate 的相关知识,这些都是 Java 开发者需要掌握的重要概念。在面试中,对这些知识点的深入理解和应用能力通常会被评估。