- 博客(21)
- 收藏
- 关注
原创 Java快速实现安全可靠的 SMTP 邮件推送功能
核心类与步骤使用Session配置邮件服务器参数。通过构建邮件内容。通过发送邮件。安全建议始终优先使用 TLS 加密。避免在不安全网络中发送未加密邮件。
2025-03-11 22:34:49
371
原创 Feign 深度解析
添加 Maven 依赖(Spring Cloud 2021.0.1 版本):1.2 接口声明示例1.3 启用 Feign二、高级配置详解2.1 超时与重试配置application.yml 配置示例:2.2 自定义配置类三、异常处理机制3.1 基础异常捕获3.2 自定义错误解码器四、拦截器实战4.1 认证拦截器4.2 日志拦截器注册拦截器:五、动态 URL 调用5.1 直接指定 URL5.2 RequestLine 方式六、性能优化建议连接池配置:
2025-03-03 21:29:55
790
原创 MySQL 复合索引
复合索引(Composite Index)是指一个索引包含多个字段。例如,对两个字段创建索引,索引会先按user_id排序,再按order_time排序。与单列索引的区别:单列索引:每个索引只包含一个字段,适合单一条件查询。复合索引:索引包含多个字段,适合多条件组合查询,且遵循最左前缀原则。场景推荐策略示例索引多条件查询按条件频率和选择性排序覆盖索引包含所有查询字段排序优化将排序字段放在索引末尾关键结论复合索引的核心是最左前缀原则和字段顺序选择。通过EXPLAIN。
2025-02-26 21:19:21
755
原创 mysql有索引但是查询没有使用索引是什么问题
的字符集或排序规则与查询值不匹配,可能导致隐式转换,从而无法使用索引(需检查表结构)。表的统计信息(如索引基数)过期,导致优化器误判索引效果。的过滤性(选择性)高,优化器更倾向于使用复合索引。仅能加速时间范围过滤,但无法同时优化。
2025-02-26 21:15:06
330
原创 基于EasyExcel封装的Excel工具类,支持高效导出和读取操作
【代码】基于EasyExcel封装的Excel工具类,支持高效导出和读取操作。
2025-02-26 00:18:57
632
原创 Java Stream流式编程
Stream(流)是Java 8引入的API,用于以声明式方式处理集合数据。它不是数据结构,而是对数据源(集合、数组、I/O资源等)进行高效聚合操作和并行处理的工具。与集合的区别集合存储数据,流处理数据流不修改源数据流操作延迟执行流只能消费一次。
2025-02-19 20:50:36
666
原创 Java异常处理
/ 支付异常(继承RuntimeException)// 异常附加信息异常处理核心要点理解异常分类:明确Error/Checked/Unchecked的区别选择合适的异常类型:业务异常优先使用RuntimeException保持异常信息完整:包含业务上下文和原始异常全局异常处理:统一REST API错误格式性能优化方向避免在循环内部抛出异常高频调用路径禁用异常控制流使用预检查替代异常捕获:// 优化前try {// 处理越界// 优化后} else {
2025-02-18 23:13:38
770
原创 SQL 调优
如果查询耗时明显偏高(如超过 1 秒),则需要进一步分析。:自动记录执行时间过长的 SQL,帮助定位性能瓶颈。输出结果的关键字段解析(见下文第四部分详细说明)。分析执行计划,即使是新手也能快速提升数据库性能!通过日志定位问题 SQL,结合。有 100 万条数据,查询。
2025-02-18 21:53:35
720
原创 Java Lambda表达式完全指南:从入门到精通
更简洁的集合处理代码更高效的并行计算能力更清晰的业务逻辑表达严格区分中间操作和终止操作理解流的一次性特性注意线程安全和变量捕获规则合理选择顺序流/并行流通过本文的代码示例和注意事项,相信您已经掌握了Lambda的核心用法。建议通过实际项目练习,逐步体会函数式编程的优雅与强大!
2025-02-16 20:10:05
773
原创 Redisson分布式锁详解:使用方式、场景与底层机制
Redisson的分布式锁(RLock)基于Redis的原子操作实现,支持可重入、自动续期(看门狗)、公平锁等特性。自动续期:通过看门狗(Watchdog)机制避免锁超时释放。可重入性:同一线程可重复获取锁。高可用:支持Redis单机、哨兵、集群等模式。在实际使用Redisson分布式锁时,可能会遇到一些典型问题。Redisson分布式锁虽简化了分布式协作,但仍需开发者理解其机制与潜在风险。锁释放规范性:确保unlock()在finally中执行。超时时间与看门狗。
2025-02-15 21:54:06
1144
原创 JDK 官方迁移指南中文版(基于 JDK 8 → JDK 11 → JDK 17)
通过系统化迁移策略,开发者可充分利用新版本的性能与安全优势,同时保障业务连续性。
2025-02-15 16:19:20
967
原创 TransactionTemplate 与@Transactional 注解的功能及方法详解
通过代码显式控制事务的开启、提交和回滚,适用于需要动态或复杂事务逻辑的场景。注解,通过 AOP 代理自动管理事务,简化事务配置,适合大多数场景。TransactionTemplate 是 Spring 提供的。是 Spring 提供的。
2025-02-14 23:34:05
1323
原创 Spring系列框架常用注解详解
标记类为Spring组件,会被自动扫描到IoC容器:通用组件类(未扫描到组件):检查包路径是否在@ComponentScan范围内。
2025-02-11 23:44:13
794
原创 Spring家族三剑客:Spring、Spring Boot、Spring Cloud
传统企业应用微服务架构云原生应用小型项目:纯Spring Boot即可大型分布式系统:Spring Boot + Spring Cloud + 其他中间件。
2025-02-11 23:43:09
993
原创 Java SpEL表达式用法解析
写出更灵活的配置代码减少硬编码提高可维护性实现动态业务规则从@Value注解开始实践尝试在权限系统中应用SpEL用集合操作简化数据处理代码SpEL虽强大,但不要过度使用。当表达式超过3行时,可能要考虑改用Java代码实现。Spring官方SpEL文档↩︎。
2025-02-10 23:33:13
876
原创 java切面编程入门教程:实现日志记录
Service@OverrideSystem.out.println("添加用户: " + name);@OverrideSystem.out.println("删除用户ID: " + id);@Target(ElementType.METHOD) // 注解作用在方法上@Retention(RetentionPolicy.RUNTIME) // 运行时生效AOP通过解耦横切关注点,让开发者能更专注于核心业务逻辑。本文通过日志记录的实战案例,带你快速上手Spring AOP的核心用法。
2025-02-10 22:51:41
451
原创 postman无法定位程序输入点问题
postman无法定位程序输入点DiscardVirtualMemory于动态链接库KERNEL32.dll上问题
2024-10-24 08:54:38
441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人