面试题基本大纲
文章平均质量分 92
豆浆粉牛奶
小时候总想的出去走走,后来才知道家才是我唯一的避风港,还是老样子,"有钱没钱回家过年"
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CompletableFuture
本文全面介绍了Java中CompletableFuture的使用方法。首先讲解基础用法,包括runAsync()执行无返回值任务和supplyAsync()执行有返回值任务。然后重点介绍了任务编排功能,通过thenApply()/thenAccept()实现串行执行,以及thenCombine()/allOf()/anyOf()实现并行组合。最后详细说明了异常处理机制,包括exceptionally()异常兜底、handle()全场景处理和whenComplete()结果监听。所有示例代码均可直接运行,帮助原创 2026-03-03 23:56:38 · 473 阅读 · 0 评论 -
垃圾回收(GC)
本文介绍了JVM垃圾回收机制的核心概念。主要内容包括:1)对象回收条件(无引用指向时被回收);2)垃圾定位方法(引用计数法、可达性分析算法);3)三种回收算法(标记清除、复制、标记整理);4)分代回收策略(新生代和老年代的不同处理);5)四种垃圾回收器(串行、并行、CMS、G1);6)四种引用类型(强、软、弱、虚)及其回收时机。重点讲解了G1回收器的工作原理,包括Young GC和Mixed GC两种模式,以及它们如何通过复制算法高效管理内存。原创 2026-02-05 18:56:17 · 932 阅读 · 0 评论 -
类加载器篇
摘要:本文介绍了Java类加载器的核心概念,包括类加载器的作用(将字节码加载到JVM)、四种类型(启动类、扩展类、应用类和自定义类加载器)。重点讲解了双亲委派模型的工作原理("先找父类再自己加载")及其重要性(保证核心类唯一性和安全性)。最后详细解析了类装载的五个执行阶段:加载→验证→准备→解析→初始化,强调准备阶段赋默认值、初始化阶段执行显式赋值和静态代码块的特性。原创 2026-02-04 19:32:45 · 977 阅读 · 0 评论 -
JVM组成
本文介绍了JVM核心组件知识:1)程序计数器存储下一条指令地址,线程私有;2)Java堆是线程共享的对象存储区,分为新生代和老年代,Java 8用元空间替代永久代以节省内存;3)虚拟机栈是线程私有内存,由栈帧组成方法调用;4)方法区存储类信息和常量池,Java 8改为元空间移至本地内存;5)堆栈区别在于堆存储对象且GC回收,栈存储局部变量且线程私有。还讨论了局部变量线程安全、栈溢出条件和垃圾回收范围等问题。原创 2026-02-04 18:26:00 · 775 阅读 · 0 评论 -
线程池使用场景
本文介绍了线程池的常见使用场景以及相关并发控制技术。主要内容包括:1)线程池的三种典型应用场景:异步处理非核心流程、高并发任务处理、网络/IO密集型任务;2)使用Semaphore信号量控制方法并发访问线程数量;3)ThreadLocal机制实现线程隔离变量存储。通过代码示例展示了CountDownLatch、Semaphore和ThreadLocal的具体实现方式,并对比了ThreadLocal与synchronized的区别。文章强调ThreadLocal的核心优势在于为每个线程提供独立变量副本。原创 2026-01-29 19:48:36 · 1081 阅读 · 0 评论 -
线程池使用篇
本文介绍了线程池的核心概念和常见问题。主要内容包括:1. 线程池的核心参数(核心线程数、最大线程数、存活时间等)和执行原理;2. 常见的阻塞队列(LinkedBlockingQueue和ArrayBlockingQueue);3. 如何根据任务类型确定核心线程数;4. 三种常见线程池类型(FixedThreadPool、SingleThreadExecutor、CachedThreadPool)的特点和使用场景。文章通过代码示例和图示详细讲解了线程池的工作机制,适合开发者快速掌握线程池的核心知识。原创 2026-01-29 14:36:48 · 591 阅读 · 0 评论 -
线程中的并发安全
本文摘要: 本文系统梳理了Java并发编程的核心知识点,包括: synchronized原理:基于Monitor实现,包含锁升级过程(无锁→偏向锁→轻量级锁→重量级锁); JMM内存模型:定义线程工作内存与主内存的交互规则,保证多线程可见性; CAS机制:通过比较交换实现无锁原子操作,依赖自旋重试; volatile特性:保证可见性(禁用JIT优化)和禁止指令重排序(内存屏障); AQS框架:JUC并发工具基石,通过CLH队列和CAS管理线程同步; ReentrantLock:基于AQS实现,支持可中断、超原创 2026-01-27 12:53:06 · 561 阅读 · 0 评论 -
多线程基本知识
文章摘要: 本文介绍了线程的基础知识,包括线程与进程的区别(资源分配与CPU调度)、并发与并行的概念(应对vs执行多任务)。重点讲解了4种创建线程的方式:继承Thread类、实现Runnable/Callable接口(支持返回值)及线程池(推荐生产使用)。通过状态图说明线程生命周期(新建→可运行→阻塞/等待→终止),并对比了wait/sleep的异同(锁释放、唤醒机制)。最后给出保证线程顺序执行的join方法,以及停止线程的两种方案:volatile标记变量和interrupt中断机制。核心知识点覆盖线程创原创 2026-01-25 19:39:37 · 667 阅读 · 0 评论 -
List和Map篇
本文总结了Java集合框架中的List和HashMap相关面试要点。List部分介绍了数组底层原理、ArrayList的动态扩容机制及与LinkedList的区别;HashMap部分讲解了哈希表原理、put方法流程、哈希碰撞解决方案及高效寻址算法。核心内容包括:ArrayList基于动态数组实现自动扩容,LinkedList采用双向链表结构;HashMap通过哈希函数+位运算实现高效寻址,使用链表+红黑树解决哈希冲突,并在特定条件下触发扩容。全文通过示意图和代码示例,清晰呈现了这些数据结构的底层实现原理和性原创 2026-01-25 15:11:57 · 752 阅读 · 0 评论 -
RabbitMQ篇
本文总结了RabbitMQ的核心知识点,包括消息可靠性保障、重复消费处理、死信交换机和延迟队列实现、消息堆积解决方案以及高可用机制。重点介绍了生产者/消费者确认机制、消息持久化、TTL+死信队列实现延迟消息、惰性队列扩容和镜像/仲裁集群等高可用方案。文章提供了SpringAMQP配置示例和面试回答要点,帮助开发者全面掌握RabbitMQ的关键技术。原创 2026-01-23 15:59:42 · 663 阅读 · 0 评论 -
微服务组件篇(含业务问题)
本文摘要: 微服务架构学习笔记总结了Spring Cloud核心组件和关键技术点。主要内容包括:1)Nacos作为注册中心实现服务发现与监控;2)LoadBalancer负载均衡策略及自定义实现;3)服务雪崩解决方案(熔断降级);4)SkyWalking服务监控工具;5)限流技术(Nginx漏桶算法/网关令牌桶算法);6)分布式系统理论(CAP/BASE);7)基于MQ的分布式事务实现方案;8)接口幂等性设计。重点分析了注册中心选型、负载均衡流程、熔断状态机等核心机制,为构建高可用微服务系统提供了实践指导。原创 2026-01-21 19:55:17 · 636 阅读 · 0 评论 -
Spring篇
本文总结了Spring框架的核心知识点,包括单例bean的线程安全性、AOP实现原理、事务失效场景、bean生命周期、循环依赖解决方案、MVC执行流程和自动配置原理。重点分析了Spring单例bean的非线程安全特性,AOP在日志记录和事务管理中的应用,以及三级缓存解决循环依赖的机制。同时详细讲解了Spring事务失效的常见原因和解决方案,并梳理了SpringMVC的完整请求处理流程和Spring Boot的自动配置实现原理。这些内容涵盖了Spring框架面试中的高频考点,对开发者深入理解Spring核心。原创 2026-01-19 23:43:07 · 717 阅读 · 0 评论 -
Mysql面试篇
本文主要介绍了MySQL数据库的几个核心知识点:1. 慢查询分析方法,通过EXPLAIN命令分析执行计划;2. MySQL索引原理,重点讲解B+树结构及其优势;3. 聚簇索引与非聚簇索引的区别及回表查询;4. 覆盖索引与超大分页优化;5. 常见索引失效场景;6. 事务特性(ACID)和隔离级别;7. undo log与redo log的区别及作用。文章通过图文结合的方式,深入浅出地讲解了MySQL的底层原理和优化技巧,适合数据库开发人员学习参考。原创 2026-01-14 20:42:25 · 636 阅读 · 0 评论 -
redis复习(2)
Redis面试题摘要: 主从复制:通过主从集群实现读写分离,数据同步分为全量同步(首次连接时完整RDB传输)和增量同步(基于命令日志的增量更新)。 哨兵模式:监控主从节点健康状态,自动故障恢复(选举新主节点),解决脑裂问题需配置min-replicas-to-write和min-replicas-max-lag。 分片集群:多Master节点存储不同数据,通过哈希槽(16384个)分配数据,解决海量存储和高并发写问题。 高性能原因:单线程避免竞争,纯内存操作,I/O多路复用(如epoll)高效处理网络请求,原创 2026-01-13 14:37:20 · 627 阅读 · 0 评论 -
redis复习篇(1)
本文介绍了Redis常见的面试问题及解决方案,主要包括: 缓存穿透:查询不存在数据导致数据库压力,解决方案包括缓存空数据和布隆过滤器。 缓存击穿:热点key过期引发高并发查询,可通过互斥锁或不设置过期时间解决。 缓存雪崩:大量key同时失效或Redis宕机,可通过随机TTL、集群模式和多级缓存应对。 双写一致性:根据业务需求选择强一致性(分布式锁)或最终一致性(异步通知)。 持久化机制:RDB快照和AOF日志的优缺点及适用场景。 数据过期策略:惰性删除和定期删除的结合使用。 数据淘汰策略:内存不足时的LRU原创 2026-01-09 14:40:05 · 1065 阅读 · 0 评论
分享