Eureka服务注册与发现
本文介绍如何搭建Eureka注册中心,实现user-service与order-service的注册,并通过多实例部署模拟负载均衡场景。涵盖工程创建、配置文件编写、服务启动及常见问题解决方案,帮助掌握Spring Cloud服务注册与发现核心机制。
@RefreshScope热更新原理
本文深入解析Spring Cloud中@RefreshScope注解实现配置热更新的原理。通过分析其组合注解特性,重点探讨@Scope("refresh")如何借助缓存机制与动态代理,在配置变更时触发Bean重建,结合Nacos实现配置自动刷新。
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因未灰度发布的新配置引发空指针异常,导致Gmail、YouTube等服务中断超7小时。本文剖析故障根源,详解配置灰度发布的重要性及Nacos等工具的实践方案,强调通过IP、标签、流量等多路径实现安全发布,保障系统稳定性。
[MES]分页与Excel批量上传(☆☆)
本文介绍如何克隆并运行一个SpringBoot项目,涉及Git、Maven等工具配置,强调新人如何解决环境搭建、需求不明确等问题,并实现分页与批量上传功能,提升实战能力。
[ERP]SpringBoot集成Swagger技术(☆)
本文介绍如何从Gitee克隆项目并运行代码,涵盖JDK、Maven等环境配置问题的应对策略,强调新人应主动请教同事。要求使用Swagger优化接口文档,实现参数校验与功能描述,并遵循Git分支命名及提交规范,提升开发效率。
RabbitMQ工作模型
工作队列模型通过多个消费者共同消费一个队列中的消息,实现任务的并行处理。默认情况下,消息平均分配给消费者,可能导致处理能力不同的消费者负载不均。通过设置`prefetch=1`,可实现“能者多劳”,即处理速度快的消费者自动接收更多消息,提升整体效率。发布订阅模型则通过交换机(Exchange)将一条消息转发给多个队列,支持Fanout、Direct、Topic等类型交换机,实现广播或多条件路由消息,满足不同业务场景需求。
认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。它通过令牌(token)机制实现权限控制,广泛用于第三方登录、服务间资源共享等场景,支持授权码、简化、密码和客户端四种模式,兼顾安全性与灵活性。
ememberMe简介及用法
RememberMe功能并非简单保存用户名密码,而是通过服务端生成令牌(Token)并存储于Cookie中,实现关闭浏览器后仍保持登录状态。该机制避免频繁登录,提升用户体验,但需防范令牌泄露风险,可通过持久化Token至数据库及二次校验增强安全性。
Spring Boot中集成Lucence
本文介绍了Lucene全文检索原理及其在Spring Boot中的集成应用。首先解析了全文检索的核心思想——通过建立索引提升搜索效率,然后详细演示了Lucene的分词、索引构建与查询过程,并结合中文分词、高亮显示等实战功能,展示了其在实际项目中的灵活运用。
Spring Boot中使用监听器
本文系统介绍了Web监听器的概念及在Spring Boot中的应用,涵盖监听Servlet上下文、Session会话与Request请求的实战案例,并讲解自定义事件与监听器的实现方式,适用于数据缓存、在线人数统计、用户行为追踪等场景,具有较强的实用价值。
Spring Boot集成MyBatis
本文系统讲解Spring Boot集成MyBatis的两种方式:基于XML和注解。涵盖依赖配置、yml设置、驼峰命名映射,并详解@Select、@Insert等注解用法及@Param、@Results问题解决方案,结合实战示例,具有较强实用性,适用于日常开发参考。
Spring Boot事务配置管理
本文介绍了Spring Boot中事务的使用及常见陷阱。通过@Transactional注解可轻松实现事务管理,确保数据操作的原子性。重点剖析了三大易踩坑点:异常类型不匹配导致未回滚、try-catch吞掉异常、事务与锁范围不一致引发并发问题,助你在实际项目中有效规避风险。
Spring Boot中的切面AOP处理
AOP(面向切面编程)旨在分离关注点,将核心业务与辅助逻辑解耦。通过Spring Boot中的@Aspect、@Pointcut、@Before、@After等注解,可实现日志记录、性能监控、事务管理等功能,提升代码模块化与可维护性,灵活应对业务变化。
SpringCloud工程部署启动
本文介绍SpringCloud微服务工程搭建全过程,涵盖项目创建、数据库配置、服务部署及远程调用实现。通过两种方案导入工程,完成user-service与order-service模块开发,并利用RestTemplate实现跨服务数据调用,帮助理解微服务间通信机制及拆分逻辑。
Ribbon负载均衡
本文深入讲解Spring Cloud中Ribbon实现客户端负载均衡的原理,涵盖负载均衡概念、分类、常见算法,详解@LoadBalanced注解的作用机制,演示如何自定义策略及配置饥饿加载,并对比不同技术实现方式,帮助读者全面理解微服务负载均衡核心知识。
Jmeter快速入门
本文介绍JMeter的安装与快速入门。需先安装JDK并配置环境变量,再下载解压JMeter,通过bin目录启动。首次运行可设中文界面,建议修改配置文件实现永久设置。随后演示创建线程组、添加HTTP取样器及监听器,完成简单性能测试流程。
Topic交换机(自行测试)
Topic交换机支持通配符匹配RoutingKey,实现灵活路由。BindingKey用`.`分隔,`*`匹配一个词,`#`匹配零个或多个词。相比Direct交换机,Topic更适用于复杂路由场景。
RabbitMQ入门
RabbitMQ是基于Erlang开发的开源消息中间件,支持AMQP协议,实现应用间解耦与异步通信。其核心组件包括生产者、消费者、队列、交换机和虚拟主机,可通过Docker快速部署并结合SpringAMQP实现消息收发。
认证源码分析与自定义后端认证逻辑
本文深入分析Spring Security认证流程,从UsernamePasswordAuthenticationFilter到AuthenticationManager、AbstractUserDetailsAuthenticationProvider,层层解析认证机制。重点讲解自定义UserDetailService实现、权限封装及Security配置,结合源码与实践,帮助开发者掌握自定义数据库认证逻辑的完整实现,并提供GitHub代码仓库供学习参考。
一场FullGC故障排查
本文记录了一次Java应用CPU使用率异常升至104%的问题排查过程。通过分析发现,问题根源为频繁Full GC,而Full GC由内存中多个大List对象(近900MB)导致,这些对象因处理Excel样本数据时结构设计不合理而长期驻留JVM堆内存,造成空间不足。借助JProfiler分析堆快照定位到大对象后,提出“治本”与“治标”两类解决方案:一是将大数据移出JVM内存存入Redis;二是优化数据结构、及时清理无用字段以减少内存占用。最终总结了线上高CPU问题的排查思路:优先检查JVM GC情况,结合工具分析堆内存,定位代码逻辑并验证推测,强调需区分机器监控与JVM监控差异,避免误判。
common-lang3
避免三目运算符引发的Java自动拆装箱异常,推荐使用ObjectUtils.defaultIfNull方法替代。该方式更安全,可有效防止null值导致的运行时错误,提升代码健壮性。
Thread.sleep(0) 到底有什么用(读完就懂)
Thread.Sleep用于暂停线程执行,Sleep(1000)不保证精确唤醒时间,受系统调度影响;Sleep(0)则触发立即重新进行CPU竞争,让出执行机会,避免界面假死。
认识SpringSecurity
SpringSecurity 是功能强大的安全框架,核心包括认证、鉴权及防护机制。支持表单、OAuth2、SAML 等多种认证方式,基于过滤器链实现请求控制,通过 FilterChainProxy 与 DelegatingFilterProxy 集成,提供异常处理与 CSRF 防护,保障 Web 应用安全。
Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中配置并运行Java Web项目,包括JDK、Tomcat等基础软件的安装与版本要求,详细演示了项目导入、Maven项目识别、工作空间设置等步骤,并重点讲解了Eclipse中绑定Tomcat服务器的全过程,涵盖版本选择、本地路径配置及项目部署。同时提供了常见错误解决方案,如数据库连接失败、密码错误等,并附有实际案例系统(如图书馆管理系统)的访问与配置说明,帮助开发者快速搭建和运行项目。
云效DevOps
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。