2026java软件开发面试题及答案.docxVIP

  • 1
  • 0
  • 约1.15万字
  • 约 26页
  • 2026-03-08 发布于未知
  • 举报

2026java软件开发面试题及答案

一、Java语言基础

1.请详细说明Java中equals()和hashCode()的关系及设计规范

equals()用于判断两个对象是否逻辑相等,hashCode()返回对象的哈希码。根据Java规范:

-若两个对象equals()返回true,则它们的hashCode()必须相同;

-若两个对象hashCode()不同,则equals()必然返回false;

-若两个对象hashCode()相同,equals()可能为true或false(哈希冲突)。

设计规范:

-重写equals()时必须重写hashCode(),否则违反HashMap/HashSet等集合的哈希一致性(例如将对象存入HashSet后修改影响哈希码的字段,会导致无法正确查找或删除);

-hashCode()应基于对象的关键属性计算(如String的哈希码基于字符数组的ASCII值加权求和);

-避免使用易变字段计算哈希码(如动态生成的UUID),否则可能导致哈希表失效。

2.对比ArrayList、LinkedList、Vector的底层实现及适用场景

-ArrayList:基于动态数组(Object[]elementData),默认初始容量10,扩容时新容量为原容量的1.5倍(JDK8+)。支持O(1)随机访问,但插入/删除(非尾部)需移动元素,时间复杂度O(n)。线程不安全。

-LinkedList:基于双向链表(NodeEfirst/last),每个节点保存前驱和后继指针。插入/删除(任意位置)时间复杂度O(1)(需先定位节点),但随机访问需遍历链表,时间复杂度O(n)。支持队列/双端队列操作(如addFirst())。线程不安全。

-Vector:底层同样是动态数组,但所有方法用synchronized修饰,线程安全。扩容时默认翻倍(可指定增量),性能较差,已被Collections.synchronizedList(ArrayList)替代。

适用场景:

-频繁随机访问选ArrayList;

-频繁首尾插入/删除选LinkedList(如实现队列);

-需线程安全时优先用CopyOnWriteArrayList(读多写少)或通过工具类包装,避免Vector。

3.解释Java异常处理机制,说明CheckedException和UncheckedException的区别及设计原则

Java异常分为Throwable子类,包括Error(JVM错误,如OutOfMemoryError,不可恢复)和Exception(程序可处理异常)。Exception又分为:

-CheckedException(受检异常):继承自Exception(非RuntimeException),如IOException、SQLException。编译器强制处理(捕获或声明抛出),用于表示程序无法控制的外部错误(如文件不存在)。

-UncheckedException(非受检异常):继承自RuntimeException,如NullPointerException、IllegalArgumentException。编译器不强制处理,用于表示程序逻辑错误(如空指针、参数非法)。

设计原则:

-受检异常用于可恢复的场景(如重试文件读取),强制调用者处理;

-非受检异常用于程序自身错误(如代码逻辑缺陷),避免过度try-catch污染代码;

-自定义异常时,若调用者需显式处理选受检异常(如业务校验失败),否则选非受检异常(如内部状态错误)。

二、并发编程与多线程

4.描述线程池的核心参数及拒绝策略,说明如何根据业务场景配置线程池

线程池(ThreadPoolExecutor)的核心参数:

-corePoolSize:核心线程数,即使空闲也不会被销毁(除非设置allowCoreThreadTimeOut);

-maximumPoolSize:最大线程数,当任务队列满时可创建的临时线程上限;

-keepAliveTime:临时线程的空闲存活时间;

-unit:时间单位;

-workQueue:任务队列(如ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue);

-threadFactory:线程工厂(建议自定义以设置线程名,方便排查问题);

-handler:拒绝策略(任务队列和线程池均满时的处理方式)。

拒绝策略(RejectedExecutionHandler实现):

-A

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档