- 博客(17)
- 收藏
- 关注
原创 面试Redis篇-深入理解Redis缓存雪崩
缓存雪崩是指由于两种情况导致缓存层失效,大量请求直接打到数据库上,可能导致系统瘫痪。第一种情况是。
2025-07-17 15:14:08
2059
原创 Redis篇-缓存机制-旁路缓存模式Cache Aside Pattern的操作顺序解析
(旁路缓存模式)中更新操作的顺序选择是影响系统一致性与性能的关键因素,本笔记将深入分析两种策略的差异及其解决方案。
2025-07-16 21:21:06
2045
原创 Spring篇-Spring Bean 实例化的三种方式
实例化方式配置复杂度使用场景特点构造方法⭐(最简单)绝大多数场景依赖无参构造静态工厂⭐⭐兼容旧系统/复杂初始化逻辑工厂方法需为static实例工厂⭐⭐⭐(需两步)较少使用需先实例化工厂 Bean⭐⭐整合第三方框架(如MyBatis)简化配置,灵活控制对象最佳实践建议优先使用构造方法需要封装创建逻辑时 → 选择避免重写构造方法时删除无参构造(否则需显式定义)
2025-07-09 21:10:52
448
原创 面试Mybatis篇-动态 SQL 核心标签
功能:通过属性控制 SQL 片段首尾内容属性prefix:添加前缀(如WHERESET:移除开头指定字符串(如AND|ORsuffix:添加后缀:移除末尾指定字符串(如场景替代where标签实现更复杂逻辑替代set标签处理更新操作示例-- 等效 where 标签 --> < trim prefix = " WHERE " prefixOverrides = " AND |OR " > < if test = " name!
2025-07-08 11:11:34
1196
原创 面试Mybatis篇-面向接口编程一致性原则
Mybatis 通过接口定义数据库操作,实际执行逻辑由框架动态生成实现类:指接口方法与映射文件(XML/注解)之间的严格对应关系。
2025-07-08 10:18:40
900
原创 面试JAVA篇-接口和抽象类有什么区别?
/ 普通成员变量// 构造方法// 抽象方法(必须被子类实现)// 具体方法(可直接继承)// 静态方法决策因素接口抽象类定义行为契约✅ 最优⚠️ 次选代码复用⚠️ 有限(默认方法)✅ 强项多继承需求✅ 支持❌ 不支持状态管理❌ 不能✅ 可以跨类体系扩展✅ 灵活❌ 受限于继承树版本兼容性✅ 默认方法避免破坏实现类⚠️ 修改可能影响子类💡面试技巧),展示对Java集合框架设计的理解。
2025-07-07 21:36:04
655
原创 面试JAVA篇-逻辑运算符与按位运算符的区别
本质区别逻辑运算符:处理布尔逻辑关系按位运算符:处理二进制位操作短路特性是逻辑运算符的核心优势,应充分利用逻辑运算符要求布尔操作数按位运算符要求整数操作数适用场景条件控制 → 逻辑运算符位操作/标志处理 → 按位运算符操作对象差异(布尔值 vs 位)短路特性存在与否返回类型不同典型使用场景fill:#333;fill:black;fill:#333;45%30%25%运算符选择决策树需要布尔结果?需要位操作?需要短路特性?
2025-07-06 20:07:28
2420
原创 面试JAVA基础篇-两个对象的hashCode()相同,则equals()也一定为 true 吗?
情景结果说明hashCode必须相同否则破坏集合类契约equals可能不同哈希碰撞是合法现象✨面试加分项“在实际开发中,重写equals()时必须同步重写hashCode(),确保符合规范,避免在HashMap等容器中出现不可预知的错误。面试官可能的追问方向“如果重写了equals()但没重写hashCode(),会有什么后果?“如何设计一个减少哈希碰撞的hashCode()方法?HashMap如何处理哈希碰撞?
2025-07-06 18:55:34
581
原创 面试JAVA基础篇-== 和 equals() 的区别
==和equals()是Java面试高频考点。==比较基本数据类型的值或引用对象的地址;equals()默认与==相同,但可重写为内容比较(如String比较字符内容)。关键区别: ==不可重写,equals()可自定义逻辑 字符串常量池会导致字面量==为true 重写equals()需遵循五大原则(自反性、对称性等) 包装类如Integer在-128~127范围内==为true(缓存优化) 重写equals()必须同时重写hashCode()以保证哈希集合正常运作。
2025-07-05 21:06:15
411
原创 面试JAVA基础篇-JDK、JRE和JVM之间的关系
JDK、JRE和JVM是Java技术的三层核心组件。JVM(Java虚拟机)是执行Java字节码的运行环境,实现"一次编译,到处运行";JRE(Java运行环境)包含JVM和核心类库,用于运行Java程序;JDK(Java开发工具包)则包含JRE及编译器、调试器等开发工具。三者是层层包含的关系:JDK>JRE>JVM。安装JDK就无需单独安装JRE和JVM。简单来说,JDK=JRE+开发工具,JRE=JVM+核心类库。
2025-07-05 19:04:17
615
原创 面试Spring篇-Spring IoC 的加载过程
本文围绕 Spring IoC 加载过程展开,先阐述了 IoC(控制反转)的核心概念,即对象创建和依赖管理的控制权由应用程序反转给 Spring 容器,依赖注入(DI)是其主要实现方式,能降低对象耦合度。接着介绍了 Spring IoC 的两大核心接口:BeanFactory和ApplicationContext,重点说明了两者在加载策略、功能和适用场景上的区别,BeanFactory为懒加载,提供基础 IoC 功能;ApplicationContext为饿汉式加载,功能更丰富,适用于多数企业级应用。
2025-07-05 18:18:58
977
原创 Spirng篇-什么是Spring Task?带你入门Spring Task
SpringTask是Spring框架提供的定时任务模块,通过简单注解即可实现定时任务调度。核心功能包括:1.使用@EnableScheduling开启定时任务;2.通过@Scheduled注解定义任务执行策略,支持fixedRate固定频率、fixedDelay固定延迟和cron表达式三种主要方式;3.默认单线程执行,可通过@Async和自定义线程池实现异步任务。该框架具有简单易用、无缝集成Spring生态、支持复杂调度等优势,适合各类定时任务场景。
2025-07-05 10:24:55
680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅