- 博客(195)
- 收藏
- 关注
原创 单application.yml多环境配置:on-profile文档块激活与配置合并规则
每一块互相隔离,可分别绑定不同 Spring Profile。YAML 允许一个配置文件写多段独立配置,用。两个文档块同时加载,配置合并。启动自动加载prod文档块。高版本已废弃,统一改用。
2026-06-16 09:20:09
170
原创 SpringBoot 自动配置底层原理:@EnableAutoConfiguration 与 @Conditional 条件注解深度解析
SpringBoot核心精髓就是约定优于配置,不用手动XML、不用大量@Bean手动注册组件;核心驱动是,再配合一大批派生条件注解,实现「类存在、Bean不存在、配置项开启时,才自动向IOC容器注入对应组件」。Spring3+注解驱动IOC、@Bean;SPI机制(Java原生服务发现);Spring4条件注解体系。启动类包含;通过SPI读取所有starter内,拿到候选自动配置类;逐个加载配置类,校验类上等外层条件;条件通过后,执行内部@Bean方法,再校验方法上;
2026-06-16 09:15:21
204
原创 重定向与转发详解!!!
本文对比了Web开发中的转发(Forward)和重定向(Redirect)两种跳转方式。转发是服务器内部跳转,浏览器只发起1次请求,地址栏URL不变,可共享request数据,但仅限于项目内跳转。重定向需要浏览器发起2次请求,地址栏URL会改变,无法共享request数据,但支持跳转到外部网址。转发适合表单校验失败等内部跳转场景,重定向适用于需要改变URL或跨域跳转的情况。两者的主要区别体现在请求次数、URL变化、数据共享、跳转范围和性能等方面。
2026-06-15 17:52:31
147
原创 Promise、async / await 详解!!!
Promise 是底层异步标准,解决回调嵌套;async/await 是 Promise 的语法糖,只是写法优化,不能替代Promise;实际开发组合用法:接口函数封装返回 Promise,业务代码用编写;所有.then链式场景,都可以等价改写为 await 同步风格代码。
2026-06-15 09:03:50
540
原创 SpringBoot Web 进阶:WebMvcConfigurer 配置、拦截器、过滤器、Servlet、监听器全详解
Spring MVC配置与拦截机制 本文介绍了SpringBoot 2.0+版本中WebMvcConfigurer的使用方法及常见扩展功能。主要内容包括: 配置类标准写法:直接实现WebMvcConfigurer接口而非继承已废弃的适配器类 四大核心配置功能: 静态资源映射(文件系统与classpath路径) 全局跨域配置(CORS) 视图控制器跳转 拦截器注册 拦截器与过滤器对比: 拦截器(HandlerInterceptor):Spring组件,仅拦截Controller请求,适合权限校验 过滤器(Fi
2026-06-15 08:29:55
366
原创 如何解决Sentinel和Seata AT分布式事务的冲突?
本文分析了Seata AT模式与Sentinel Feign熔断的冲突根源:熔断降级会吞掉异常导致Seata无法感知分支调用失败,造成数据不一致。针对此问题提出了五大解决方案:1)分层开关隔离(推荐);2)降级后主动抛异常;3)返回值判断+手动回滚;4)线程隔离策略改造;5)架构拆分异步解耦。文章比较了各方案优缺点,指出分层隔离是生产环境最佳实践,并澄清了常见误区,强调只有熔断降级会干扰Seata,限流规则完全兼容。最后给出了不同场景的选型建议和配套约束细则,为分布式事务与熔断降级的共存问题提供了系统性解决
2026-06-15 08:24:56
762
原创 Sentinel保姆级实操:控制台部署+限流熔断+Nacos持久化完整落地
本文介绍了阿里开源流量防护组件Sentinel的核心功能与实战配置。Sentinel提供流量限流、熔断降级、热点参数限流等六大防护能力,通过轻量级SDK和控制台实现可视化配置。文章详细讲解了Windows环境启动控制台的方法、SpringCloud微服务接入步骤,以及流量限流、熔断降级等五大规则的配置实践。同时介绍了自定义限流处理、Feign熔断适配、Nacos规则持久化等进阶用法,对比了与其他熔断组件的差异,并总结了常见问题排查要点。Sentinel凭借完善的防护功能和阿里生态适配,成为国内微服务流量治理
2026-06-15 08:23:32
373
原创 微服务指标监控一站式搭建:Prometheus抓取+Grafana大屏展示详解
本文介绍了使用Prometheus和Grafana搭建SpringBoot监控系统的完整流程。主要内容包括:组件分工(Prometheus负责数据采集,Grafana负责可视化)、Windows单机部署步骤、SpringBoot3项目接入方法、Grafana面板配置、常用PromQL查询语句、自定义业务指标埋点、告警配置方案以及常见问题排查。该系统可监控JVM、HTTP接口、系统资源等指标,并提供可视化展示和告警功能。文章提供了详细的配置代码和操作步骤,适合快速搭建基础监控环境。
2026-06-14 12:39:28
109
原创 微服务异步场景链路断裂完整解决方案
本文针对微服务链路追踪中异步场景导致的traceId/spanId断链问题,分别给出Spring Boot2+Sleuth和Spring Boot3+Micrometer的解决方案。对于线程切换场景(如@Async、自定义线程池、定时任务),Spring Boot2可通过自动代理或手动包装TraceableExecutorService实现上下文传递;而Spring Boot3需使用ContextSnapshot手动捕获和恢复上下文。对于MQ跨进程通信,需通过消息Header透传链路信息,其中Spring官
2026-06-14 12:32:19
208
原创 Zipkin 快速上手部署与接入实战
本文介绍了分布式链路追踪工具Zipkin的部署与集成方案。主要内容包括:1)Zipkin架构分为服务端和客户端埋点;2)Windows下快速启动Zipkin服务端及对接Elasticsearch存储;3)两种集成方案(Spring Boot2采用Sleuth+Zipkin,Spring Boot3使用Micrometer Tracing);4)Zipkin UI的核心功能与异步场景解决方案;5)与SkyWalking的对比选型建议;6)常见问题排查指南。特别强调Spring Boot3必须采用Microme
2026-06-14 12:24:30
137
原创 SpringBoot 接入 RocketMQ 全教程:Tag 过滤、批量发送、事务消息一站式实现
消费者可以只订阅指定Tag,实现消息分类过滤。测试环境自动创建Topic,不用手动建。本地事务执行+回查接口。2个cmd窗口分别启动。工具脚本测试发送/消费。
2026-06-14 12:11:25
88
原创 从零搭建 Seata 服务端,手把手演示分布式事务回滚与提交
本文详细介绍了分布式事务框架Seata的AT模式在Windows环境下的部署与使用。核心内容包括:三大角色(TC、TM、RM)的作用、TC服务端配置(注册中心Nacos、DB存储模式)、业务库undo_log表的必要性、微服务接入配置方法,以及通过订单-库存-账户的典型场景演示全局事务控制。特别强调AT模式通过二阶段提交和undo_log实现自动回滚的原理,并指出常见问题如事务组配置不匹配、多数据源代理等注意事项。部署过程涵盖TC服务初始化、Nacos配置、客户端集成等关键步骤,提供完整的分布式事务解决方案
2026-06-14 11:53:54
192
原创 一文吃透 Nacos 两大核心能力:注册中心 + 分布式配置中心全流程实操
Nacos作为国产微服务核心组件,提供服务注册发现和分布式配置中心两大核心能力。本文详细介绍了Windows单机部署流程,包括下载解压、单机模式启动、MySQL持久化配置等关键步骤。在微服务集成方面,讲解了服务注册发现、动态配置管理、多环境隔离(Namespace+Group)的具体实现方式,并给出Gateway动态路由整合方案。最后总结了Windows启动参数、配置中心语法、数据持久化等高频踩坑点。全文涵盖Nacos从部署到应用的全流程实践指南,适合作为微服务开发的速查手册。
2026-06-14 11:44:49
182
原创 ElasticsearchRestTemplate使用方法详解!!!
本文介绍了基于SpringBoot 3和ES High Level Rest Client实现Elasticsearch常见查询功能的实践方案。主要内容包括:1)商品文档实体定义;2)精确匹配查询(term查询);3)全文分词检索(match查询);4)布尔组合多条件查询(must+filter);5)分页与排序实现;6)聚合统计功能(按分类分组并计算均价)。通过代码示例展示了各类查询的DSL语法与Java API实现方式,涵盖了ES开发中90%以上的常见使用场景,为Java开发者提供了完整的参考方案。
2026-06-14 10:35:11
166
原创 Windows Elasticsearch 完整上手教程
本文介绍了Elasticsearch(ES)的核心概念、部署方法和使用场景。主要内容包括: ES核心定位:分布式全文检索引擎,通过倒排索引实现高效检索,对比MySQL解释了ES的索引、文档等核心概念。 部署指南:详细说明Windows环境下ES和Kibana的安装配置步骤,包括单机模式设置、中文分词器安装等。 DSL操作:提供完整的CRUD示例,涵盖索引管理、文档操作及常用查询(全文检索、精确匹配、范围查询、聚合统计等)。 SpringBoot整合:介绍两种Java接入方式(Repository和RestH
2026-06-14 10:30:28
253
原创 Windows 环境 SkyWalking 完整实操教程
SkyWalking是一套零代码侵入的分布式系统监控解决方案,包含Agent探针、OAP服务端、存储层和UI控制台四大组件。部署时需注意9.x版本后后端与探针包分离下载。Windows环境下通过startup.bat一键启动后端服务,默认使用H2内存数据库(生产环境建议切换至Elasticsearch)。Java项目接入仅需在JVM参数中添加探针路径和服务名配置,无需修改代码。UI控制台提供拓扑图、链路追踪、指标监控、SQL分析和告警五大核心功能,帮助快速定位慢接口和异常。常见问题包括路径配置错
2026-06-14 10:16:28
257
原创 告别 Python 环境冲突:Windows Anaconda3 完整落地教程
备选清华镜像高速下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/自动弹出浏览器页面,新建ipynb代码笔记,分段运行Python代码。重启Jupyter,新建文件时就能选择该专属内核。把yml文件拷贝到新电脑。
2026-06-14 10:01:48
221
原创 Java泛型核心知识点详解
本文系统讲解了Java泛型的核心知识点。首先介绍泛型作为参数化类型的作用:编译时类型检查、避免强制转换、提高代码复用性。随后详细阐述了泛型类、泛型方法和泛型接口的定义与使用方式,包括通配符(?)及上下限通配符的应用场景。文章还列举了泛型命名规范(T/E/K/V/N)、注意事项(编译时有效、不支持基本类型等)和典型使用场景(集合类、工具类等)。通过对比无泛型和有泛型的代码示例,直观展示了泛型在类型安全和代码简洁性方面的优势。
2026-06-13 16:45:05
159
原创 Java异常机制核心知识点详解
本文系统介绍了Java异常处理机制的核心知识,包括异常体系结构(Throwable、Error、Exception)、两类异常处理方式(try-catch-finally捕获处理和throws声明抛出)、throw主动抛出异常的方法。重点讲解了编译时异常与运行时异常的区别、自定义异常的实现方式(继承Exception或RuntimeException)以及finally关键字的特点(确保资源释放)。文中还通过代码示例演示了异常处理的具体应用,并对比了throw和throws的关键差异,最后列举了6种常见的运
2026-06-13 16:44:08
187
原创 Python网络编程详解
本文系统介绍了网络编程的核心技术,重点讲解了TCP和UDP两种传输协议的特点及应用场景。通过Python代码示例演示了单线程TCP通信的实现,并针对其局限性提出了多线程TCP并发解决方案,构建了一个支持多客户端同时在线的聊天室系统。文章还涵盖了UDP编程实践及网络编程中常见的粘包问题、端口复用等关键技术难点,为开发者提供了从基础到进阶的完整学习路径。全文通过理论讲解与代码实践相结合的方式,帮助读者掌握网络通信的核心原理和实现方法。
2026-06-13 16:42:40
242
原创 Python3并发编程详解
本文介绍了Python并发编程的三种主要实现方式及其适用场景:多线程、多进程和协程。主要内容包括: 基础概念:区分了串行、并发、并行的差异,解释了GIL锁对多线程的影响,以及不同场景下的技术选型建议(IO密集型优先多线程/协程,CPU密集型优先多进程)。 多线程编程:通过threading模块实现,包括两种创建方式(函数式和类继承)、守护线程、线程安全锁机制以及线程池的使用方法。 多进程编程:通过multiprocessing模块实现,包含进程创建、进程间通信(Queue)以及进程池的应用,重点对比了进程与
2026-06-13 16:41:03
187
原创 Java8 新特性全解(保姆级)
接口 default 默认方法Lambda 表达式简化代码函数式接口规范定义方法引用进一步精简写法Stream流高效处理集合Map集合拓展操作方法线程安全的新日期API支持重复注解特性。
2026-06-13 16:39:24
197
原创 2026 最新万字 Python 基础教程|零基础快速入门,从零吃透全套核心编程语法
本文是一篇零基础Python入门教程,全面介绍Python编程基础知识。主要内容包括: Python简介:Python作为高级解释型语言,语法简洁优雅,跨平台性强,生态丰富,是入门编程的首选语言。 环境搭建:详细说明Python安装步骤和开发工具PyCharm的配置方法。 基础语法:讲解输入输出函数(print/input)、变量命名规则、数据类型(int/float/str等)及其转换。 运算符:涵盖算术、赋值、比较和逻辑运算符的使用方法。 流程控制: 条件分支(if/elif/else) 循环结构(wh
2026-06-11 09:20:39
340
原创 Python核心语法全套精讲(保姆级)
本文系统梳理了Python核心知识点,包含推导式、匿名函数、高阶函数、迭代生成器、装饰器等内容。推导式提供列表/字典/集合的简洁生成方式;lambda函数简化短逻辑;高阶函数map/filter/reduce实现批量处理;迭代器与生成器优化内存使用;装饰器动态扩展功能而不修改原代码。这些特性使Python代码更简洁高效,适合数据处理与功能扩展场景。
2026-06-11 09:11:20
208
原创 Java基础总结(快速入门版)
本文系统介绍了Java编程的七大基础知识点: 注释:包括单行(//)、多行(/* /)和文档注释(/* */),用于代码说明 变量:定义格式、命名规范及使用方法,强调小驼峰命名规则 数据类型:八大基本类型(byte/int/char等)和引用类型(String/数组等),含类型转换规则 运算符:算术、赋值、关系、逻辑及三元运算符的用法示例 输入输出:System.out打印输出与Scanner键盘输入的实现方式 流程控制:if-else/swicth分支结构,for/while循环及break/contin
2026-06-11 09:06:49
185
原创 2026最新 Java 学习全攻略:从入门到精通的详细指南,收藏这篇就够了!!!
本文系统介绍了Java编程语言的核心知识点,分为三大部分: Java入门与环境搭建:详细讲解Java特性(跨平台、面向对象等)、JDK/JRE/JVM的区别、环境配置步骤、首个Java程序编写(HelloWorld)及运行原理,并介绍IDEA开发工具的基本使用。 Java语法基础:全面覆盖编程基础要素,包括标识符命名规则、关键字、注释类型、8种基本数据类型、变量与常量、各类运算符(算术/赋值/逻辑等)、流程控制结构(if/switch/循环)以及数组的定义和使用。 面向对象编程:重点阐述OOP三大特性:封装
2026-06-10 22:23:06
233
原创 从硬编码到“规则即配置”!SpringBoot 整合 Drools 8 实现电商促销规则动态编排
摘要 本文介绍了如何使用Drools 8规则引擎解决电商促销场景中的动态规则管理问题。传统硬编码方式存在频繁发版、代码臃肿等缺点,而Drools可将促销逻辑从业务代码中剥离,实现规则动态配置和实时生效。 主要内容包括: Drools核心概念:Fact(业务数据对象)、DRL规则文件(when-then语法)和Kie容器 SpringBoot集成Drools 8的实战步骤:引入依赖、创建Fact实体类、编写DRL规则文件 电商促销规则实现示例:包含基础满减、VIP折扣和新用户优惠的叠加规则 通过salienc
2026-06-10 10:27:26
626
原创 高并发场景下 RocketMQ 消息积压问题深度剖析与解决方案详解!!!
本文将以电商订单系统为场景,深度剖析消息积压的核心成因,并提供一套覆盖事前预防-事中处理-事后兜底的解决方案,帮你彻底解决RocketMQ消息积压难题。
2026-06-09 11:21:38
163
原创 高并发场景长事务优化,支付链路性能升级方案
本文将以电商订单支付链路为场景,详细介绍如何通过缩小事务范围、异步化非核心操作、乐观锁控制并发、批量操作优化交互,将长事务改造为轻量短事务,实现支付链路的性能与稳定性双提升。
2026-06-09 10:17:43
206
原创 微服务接口性能优化:CompletableFuture 并行聚合实践
本文介绍如何利用Java 8的CompletableFuture优化用户中心接口,通过并发编排将串行调用改造为并行执行。传统串行方式导致响应时间为各服务耗时之和,而并发方案使响应时间缩短至最慢服务的耗时(如从500ms降至120ms)。文章详细展示了线程池配置、并发任务编排、异常降级和结果聚合的实现代码,并分析了该方案在性能提升(76%)、解耦扩展、资源利用和异常处理方面的优势。该方法同样适用于订单详情、首页聚合等需要整合多源数据的场景。
2026-06-09 10:03:53
660
原创 基于 RocketMQ 延时消息的实现订单超时自动关闭场景
本文介绍了如何利用RocketMQ延时消息实现电商订单超时自动关闭的高效方案。传统定时任务轮询方式存在资源消耗大、延迟不精准等问题,而RocketMQ延时消息能通过精准的延时投递机制,在订单支付超时后自动触发关闭流程,释放库存资源。文章详细阐述了方案设计、代码实现及优势,包括创建订单时发送延时消息、消费端幂等处理等核心流程,并指出该方案具有低开销、高精度、强可靠性等特点,适用于各类超时处理场景,为电商系统提供了更优的解决方案。
2026-06-09 09:53:08
224
原创 从原理到落地:本地消息表 + RocketMQ 分布式事务方案
本地消息表(Local Message Table)是实现分布式事务的经典模式之一,也被称为事务消息模式,其核心思想可以概括为一句话:用本地事务保证“业务操作 + 消息记录”的原子性,再通过消息重试机制实现跨服务的最终一致性。本地事务原子性:订单创建和消息记录在同一事务中,确保“订单存在则消息必存在”;消息异步通信:通过消息队列实现跨服务解耦,库存服务异步处理扣减操作;重试与结果反馈:定时任务兜底重试 + 库存处理结果反馈,确保消息最终被处理;幂等性保障。
2026-06-09 08:39:53
444
原创 别再死磕面试题了!Java 面试拼的从来不是背诵
这篇文章探讨了Java面试中常见的误区与有效应对策略。作者指出,单纯背诵面试题答案无法展现真实能力,强调面试官更看重四大核心能力:技术广度、深度、底层功底和项目实战能力。文章总结了四类常见面试误区(死记硬背、忽略技术思考、虚构经验、表达混乱),并针对Java后端技术栈(框架、中间件、JVM等)给出了模块化的答题思路,推荐使用STAR模型展示项目经验。最后提出长期提升建议:深挖业务、构建知识体系、研读源码和锻炼表达能力。全文旨在帮助开发者跳出"背题-面试失利"的恶性循环,通过真实技术能力获得面试成功。
2026-06-08 14:17:18
321
原创 别再愁Java项目没亮点!普通 CRUD 项目其实也能征服面试官!!!
文章摘要 本文针对面试者普遍面临的“项目缺乏亮点”问题,提出一套系统化的解决方案。通过纠正两大误区(盲目追求高并发项目、忽视全局架构),指导开发者从业务痛点、技术细节、问题优化、线上排障四个维度挖掘普通项目的价值。文章提供标准项目梳理模板(FAB+STAR法则)和数据库、接口优化、线上排障、代码重构四大核心方向,结合具体案例展示如何将基础CRUD转化为技术亮点。最后强调简历需突出技术关键词+量化结果,避免流水账描述,帮助求职者高效展示项目深度与技术能力。
2026-06-08 12:23:54
831
原创 tomcat下载安装及配置优化详细教程
Apache Tomcat是一个开源的Servlet容器,由Apache软件基金会开发和维护。它实现了Servlet、JSP和WebSocket等Java Web规范,是运行Java Web应用程序的理想选择,Tomcat通常作为中小型Web应用的服务器,也可与Apache HTTP Server或Nginx配合使用,处理高并发场景。
2025-10-24 14:20:27
1217
原创 Nodejs模块化详解
Node.js 采用CommonJS 模块规范作为其默认的模块化方案,每个文件被视为一个独立的模块,具有自己的作用域。模块之间通过require()函数引入,通过或exports导出。核心特点:文件即模块:每个 JavaScript 文件就是一个独立的模块同步加载:模块在使用时同步加载(适合服务器端环境)单例模式:模块只会被加载一次,后续引用返回相同实例明确的导入/导出:通过require和显式管理依赖。
2025-08-11 11:31:40
977
原创 HTML基本标签汇总
定义术语和定义描述用途:用于创建定义列表,通常用于展示术语及其定义。< dl > < dt > HTML </ dt > < dd > 超文本标记语言,用于创建网页结构。</ dd > < dt > CSS </ dt > < dd > 层叠样式表,用于美化网页外观。< dl > < dt > HTML </ dt > < dd > 超文本标记语言,用于创建网页结构。</ dd > < dt > CSS </ dt > < dd > 层叠样式表,用于美化网页外观。</
2025-08-06 11:20:42
949
原创 TypeScript快速入门
TypeScript 是 JavaScript 的超集,通过添加静态类型系统扩展了 JavaScript 的功能,使代码更可靠、可维护,尤其适合大型项目。本文详细介绍 TypeScript 的快速入门知识点,带你从安装到掌握核心概念。
2025-08-06 11:19:35
1281
原创 FastDFS分布式文件系统集群配置用法(详细版)
整体架构:FastDFS 集群主要由Tracker 服务器集群和Storage 服务器集群组成。Tracker 服务器负责管理 Storage 服务器的状态信息,为客户端提供文件上传、下载的路由信息;Storage 服务器负责实际的文件存储。高可用性:通过多台 Tracker 服务器和 Storage 服务器的部署,实现系统的高可用性和负载均衡。当部分服务器出现故障时,系统仍能正常工作。数据备份:Storage 服务器以组为单位,同一组内的 Storage 服务器之间会进行数据同步,保证数据的可靠性。
2025-08-05 15:08:16
1673
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅