当前位置: 首页 > news >正文

Java面试高频核心内容

文章目录

  • 一、Java面试题
      • 1、Java基础面试题与答案
        • 数据类型与包装类
        • String相关
      • 2、集合框架面试题与答案
        • HashMap原理
      • 3、并发编程面试题与答案
        • synchronized优化
        • ThreadLocal
      • 4、JVM面试题与答案
        • GC算法
      • 5、数据库面试题与答案
        • MySQL索引
      • 6、分布式面试题与答案
        • Redis持久化
        • 系统设计
    • 二、Java相关知识
      • 1、Java基础
      • 2、集合框架
      • 3、并发编程
      • 4、JVM原理
      • 5、数据库与缓存
      • 6、分布式架构
      • 7、系统设计


一、Java面试题

1、Java基础面试题与答案

数据类型与包装类

问题: 解释Integer的缓存机制及其范围
答案:
Integer类在-128到127之间预先缓存对象,通过IntegerCache静态内部类实现,避免重复创建小数值对象。超出范围则新建实例。

Integer a = 127;  // 使用缓存
Integer b = 127;  // 同一对象
System.out.println(a == b); // true
String相关

问题: String为何设计为不可变?
答案:
安全性(如哈希值计算)、线程安全、字符串池优化。修改String实际创建新对象,原对象不变。StringBuffer和StringBuilder适用于频繁修改场景,后者线程不安全但性能更高。

2、集合框架面试题与答案

HashMap原理

问题: HashMap如何解决哈希冲突?
答案:
链表+红黑树(JDK8)。冲突时链表存储,链表长度≥8且数组长度≥64时转为红黑树。扩容时重新计算索引,负载因子默认0.75。

// 扰动函数示例
static final int hash(Object key) {int h;return (key == null) ? 0 : (h 

相关文章:

  • JAVASE:面向对象
  • Pendulum:优雅处理 Python 中的日期与时间
  • CET6 仔细阅读 24年12月第三套-C1 恐惧这一块
  • SAFe/LeSS/DAD等框架的核心适用场景如何选择?
  • 学习笔记(24): 机器学习之数据预处理Pandas和转换成张量格式[2]
  • 开发源码搭建一码双端应用分发平台教程:逐步分析注意事项
  • 激活函数和归一化、正则化
  • return this;返回的是谁
  • Odoo 18 定期发送电子邮件报告(如KPI)配置指南
  • vivo y300pro 无法连接adb
  • C++语法系列之IO流
  • Linux网络协议栈:从Socket到网卡的星辰大海
  • python实现合并多个dot文件
  • 【AI系列】DPO 与 PPO 的比较与分析
  • 标准IO及相关函数介绍
  • Efficient RAW Image Deblurring with Adaptive Frequency Modulation
  • 龙虎榜——20250604
  • 网络攻防技术十四:入侵检测与网络欺骗
  • 我也不知道
  • 共识机制全景图:PoW、PoS 与 DAG 的技术对比
  • 工商局网站怎么做身份确认/最好的网络营销软件
  • 做网站啦代理的方法/如何发布视频赚钱
  • 如何部署asp网站/黑科技引流推广神器免费
  • 自己做的网站套dedecms教程/搜索引擎优化概述
  • 婚纱摄影类网站/小学生摘抄新闻
  • 做网站项目收获/百度seo排名优化如何