Java 京东面试面试题及答案

Java 面试题及答案

一、JDK8 新特性

面试题:请列举 JDK8 的主要新特性?

答案

  1. Lambda 表达式和函数式接口
  2. 方法引用 (:: 操作符)
  3. Stream API
  4. 接口的默认方法和静态方法
  5. Optional 类
  6. 新的日期时间 API (java.time 包)
  7. Nashorn JavaScript 引擎
  8. 重复注解
  9. 类型注解
  10. 并行数组排序

二、HashMap 原理及线程安全

面试题1:HashMap 的工作原理是什么?

答案

  • HashMap 基于哈希表实现,使用数组+链表+红黑树(JDK8)结构
  • 通过 key 的 hashCode() 计算哈希值,确定数组下标
  • 处理哈希冲突:链表法(JDK8 中链表长度超过8转为红黑树)
  • 扩容机制:默认负载因子0.75,扩容时容量翻倍

面试题2:如何保证 HashMap 的线程安全?

答案

  1. 使用 Collections.synchronizedMap() 包装
  2. 使用 ConcurrentHashMap(推荐)
  3. 使用 HashTable&

你可能感兴趣的:(java,面试,开发语言)