自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 深入浅出 RabbitMQ:从原理到实战

RabbitMQ 是基于 AMQP(高级消息队列协议)开发的消息中间件,2007 年由 Rabbit 技术公司发布,采用 Erlang 语言开发,天然适配高并发场景。RabbitMQ 凭借高并发、低延时、易部署的特性,成为中小型系统消息中间件的首选。核心应用场景包括:异步通信、系统解耦、流量削峰、日志收集等。使用时需结合业务场景选择合适的消息模型,同时注意消息持久化、消费确认、死信队列等高级特性,保障消息传递的可靠性。

2026-05-14 21:23:46 475

原创 ElasticSearch 从入门到实战

如需识别专有词汇(如 “动力优品”),可在 IK 的config目录新建my.dic(UTF-8 无 BOM 格式),添加自定义词汇,并修改引入该词库。ES 核心是倒排索引,适合全文检索、日志分析、监控等场景;集群部署时,主分片数一旦设置不可修改,副本数可动态调整;中文分词优先选择 IK 分词器,索引时细粒度、搜索时粗粒度兼顾召回率与精准度;Spring Boot 整合 ES 推荐使用 RestHighLevelClient,替代即将废弃的 TransportClient;

2026-05-11 19:22:09 418

原创 Nginx 从入门到实践:反向代理、负载均衡与动静分离

反向代理解决域名与端口映射问题,实现优雅的域名访问;负载均衡提升系统并发能力,避免单服务器瓶颈;动静分离优化资源访问效率,减轻应用服务器压力。掌握 Nginx 的核心配置和常用操作,能大幅提升项目部署的灵活性和系统性能,是后端开发、运维工程师必备的技能之一。

2026-05-07 19:53:51 370

原创 【Git 从入门到实战】(IDEA+Gitee 版)

《Git核心使用指南:从入门到协作开发》 本文系统介绍了Git版本控制工具的核心使用方法。首先阐述了Git作为分布式版本控制系统的优势,对比了集中式与分布式版本控制的差异。随后详细讲解了环境配置步骤,包括Git安装、IDEA集成和Gitee仓库创建。核心实战部分覆盖了完整开发流程:项目发布与克隆、代码提交与更新、冲突解决策略、分支管理与合并操作。特别强调了"先更新后提交"的协作原则,以及通过分支隔离开发任务的重要性。

2026-04-29 20:56:48 485

原创 分布式事务 Seata 与链路追踪 SkyWalking 全解析

分布式事务:Seata 通过 TC/TM/RM 架构,以 AT 模式实现无侵入的分布式事务管控,解决微服务跨服务 / 跨库的数据一致性问题。链路追踪:SkyWalking 弥补了微服务架构下全链路监控的空白,是定位性能瓶颈、排查分布式问题的核心工具。技术选型建议金融级强一致性场景:Seata XA 模式通用业务场景:Seata AT 模式微服务全链路监控:SkyWalking + Prometheus + Grafana。

2026-04-28 20:10:28 422

原创 服务网关 Gateway 从入门到精通

本文介绍了Spring Cloud Gateway作为微服务架构入口的核心功能与实践。文章首先阐述了服务网关的必要性,包括解决跨域、认证复杂、动态服务发现等问题。接着详细讲解了Gateway的三大核心组件:路由(Route)、断言(Predicate)和过滤器(Filter)的工作流程。通过实战演示了如何快速搭建Gateway工程,包括Nacos服务发现集成、路由配置和过滤器实现。重点介绍了断言规则的高级用法、自定义全局认证过滤器以及整合Sentinel实现网关限流的方法。

2026-04-23 19:54:44 492

原创 SpringCloud Alibaba Sentinel 从入门到精通

在微服务架构中,服务间的依赖关系复杂,一个服务的故障可能引发连锁反应,导致整个系统雪崩。Sentinel 作为阿里巴巴开源的流量控制框架,能从流量控制、熔断降级等维度保护服务稳定性。本文将从实战角度,完整讲解 Sentinel 的核心概念、使用方式及各类规则配置。Sentinel(分布式系统的流量防卫兵)以流量为切入点,提供流量控制熔断降级系统负载保护等能力,保障微服务高可用。// 兜底方法(参数与原方法一致,最后加BlockException)

2026-04-22 19:41:07 498

原创 【Spring Cloud】负载均衡 Ribbon & 声明式服务调用 Feign

本文介绍了微服务架构中的两个核心组件:负载均衡工具Ribbon和声明式服务调用Feign。Ribbon通过随机/轮询等策略实现消费端负载均衡,可集成到RestTemplate自动分发请求。Feign则提供了声明式的HTTP客户端,通过接口注解简化远程调用,默认集成Ribbon实现负载均衡。文章详细展示了如何配置多实例服务提供者、实现自定义负载均衡策略,以及通过Feign接口实现类似本地方法调用的远程服务访问。两者结合使用能够有效提升微服务架构的通信效率和可靠性,是构建分布式系统的重要技术方案。

2026-04-17 20:37:32 565

原创 Spring Cloud Alibaba + Nacos 从入门到集群实战(续)

本文介绍了Nacos的配置隔离与集群部署方案。Nacos支持三级配置隔离:Namespace(环境隔离)、Group(项目隔离)和DataID(服务隔离)。在生产环境中,Nacos集群需进行持久化改造,将默认的Derby数据库替换为MySQL,并配置多节点集群。通过Nginx反向代理实现负载均衡,确保高可用性。文章详细说明了MySQL数据源配置、集群节点规划、Nacos实例部署以及Nginx代理设置等关键步骤,并提供了开机自启的配置方法。

2026-04-16 19:14:18 303

原创 Spring Cloud Alibaba + Nacos 从入门到集群实战

本文介绍了微服务架构演进及SpringCloudAlibaba解决方案,重点讲解了Nacos注册中心和配置中心的使用。从单体架构到分布式架构再到微服务的演变过程,分析了不同架构的优缺点。详细说明了SpringCloudAlibaba与Nacos的安装配置方法,包括版本适配、环境搭建和案例工程实现。通过实际案例演示了服务注册发现机制和配置集中管理功能,展示了Nacos在服务治理和配置管理方面的核心能力,为构建高可用微服务系统提供了实用指导。

2026-04-16 12:00:00 529

原创 Mysql数据库调优

本文系统性地介绍了数据库索引的核心概念和应用。首先明确了索引是通过特定数据结构(如B+树)实现快速数据定位的技术,其本质是以空间换时间。接着详细解析了索引的多种分类方式:按功能分为主键、唯一、普通、全文索引;按结构分为单列和联合索引;按存储分为聚簇和非聚簇索引。重点阐述了B+树作为MySQL标准索引结构的优势,包括稳定的查询性能、高效的范围查询和空间利用率。文章还深入探讨了聚集索引与非聚集索引的区别,索引下推技术的优化原理,以及单列索引与联合索引的选择策略。

2026-04-15 19:38:44 396

原创 Spring Security 从入门到实战

本文详细介绍了SpringSecurity在移动端短信验证码登录场景下的认证授权全流程。内容涵盖基础概念(认证与授权)、7张核心权限表设计、SpringBoot环境搭建、默认登录机制、15层核心过滤器链解析,以及生产级配置方案。重点讲解了自定义登录页面、数据库用户查询、BCrypt密码加密、路径与注解两种权限控制方式等实战要点,并提供了前后端分离场景下的CSRF关闭建议。通过一步一图的讲解方式,帮助开发者全面掌握SpringSecurity的安全认证与权限管理实现。

2026-04-11 12:00:00 225

原创 【Spring Data Redis 从入门到实战】一站式掌握 Redis 操作与封装

本文介绍了SpringBoot项目中通过SpringDataRedis简化Redis操作的方法。首先分析了SpringDataRedis的核心概念,包括RedisTemplate对五大数据结构的封装和Lettuce客户端的高性能特性。重点讲解了序列化器的选择与配置优化,推荐使用StringRedisSerializer+GenericJackson2JsonRedisSerializer组合解决POJO存取问题。

2026-04-10 19:33:28 409

原创 Redis 从入门到集群搭建(续)

Redis五大数据类型在商城场景中的实战应用:String用于缓存广告位和库存,Hash存储用户/商品对象,List实现秒杀队列和评论列表,Set管理商品标签,Zset处理商品排名。持久化方案推荐RDB+AOF组合,确保数据安全与恢复效率。高可用方案包括主从复制(数据备份)和集群部署(3主3从架构),通过哈希槽实现分布式存储。文中详细提供了集群搭建步骤和配置脚本,覆盖从单机到分布式环境的核心技术要点,为电商系统提供高性能缓存解决方案。

2026-04-01 19:07:51 370

原创 Redis 从入门到集群搭建

本文介绍了Redis在商城项目中的缓存应用,重点讲解了Redis的基础认知、Linux环境安装及启动方式。作为高性能内存数据库,Redis支持多种数据类型和持久化功能,能有效缓解高并发场景下的数据库压力。文章详细演示了从环境准备到编译安装Redis 3.0.0的全过程,并对比了前端启动(测试用)和后端启动(生产推荐)两种方式,同时提供了优雅关闭Redis的方法。最后列举了set、get、keys等核心操作命令,为后续Redis在商城项目中的实际应用奠定基础。

2026-03-31 21:22:16 241

原创 【SpringBoot 核心】自动配置原理深度解析

本文深入解析SpringBoot自动配置机制,通过原理拆解和手动模拟实现完整流程。核心要点包括:1)@SpringBootApplication组合注解的作用机制;2)EnableAutoConfigurationImportSelector读取spring.factories实现自动配置;3)分步骤演示从手动配置到自动加载的演进过程。通过自定义配置类、实现ImportSelector、解耦配置文件等实践,完整复现了SpringBoot"约定大于配置"的设计思想。

2026-03-28 12:00:00 436

原创 SpringBoot 整合 MyBatis

本文介绍了SpringBoot整合MyBatis实现用户管理功能的全流程。主要内容包括:1)创建SpringBoot工程并配置MyBatis、MySQL等核心依赖;2)实现用户新增功能,包含Mapper接口与XML映射、Service层及单元测试;3)配置数据源、日志等关键参数。案例采用Druid连接池,通过@MapperScan注解扫描Mapper接口,并演示了基本的CRUD操作。该示例为SpringBoot+MyBatis的入门模板,可扩展实现分页、修改、删除等功能。环境要求JDK1.8、SpringB

2026-03-27 19:13:39 325

原创 Spring Boot 异常处理、单元测试、多环境配置、日志全解析

<head><title>错误提示页面</title></head><body>出错了,请与管理员联系。。。-- 展示异常信息 --></body>

2026-03-27 12:00:00 533

原创 Spring Boot 入门

本文介绍了SpringBoot框架的核心特性及快速入门指南。主要内容包括:1)SpringBoot的嵌入式容器、简化配置等核心优势;2)两种项目构建方式(官方脚手架和Maven手动搭建);3)入门案例实现HelloWorld功能;4)全局配置文件的使用方法;5)Jar包和War包两种项目发布方式。SpringBoot通过"约定优于配置"的理念,大幅简化了Spring应用的开发流程,特别适合快速构建企业级应用。

2026-03-26 17:55:07 553

原创 Spring 纯注解配置详解:告别 XML,拥抱注解式开发

本文详细介绍了将Spring+SpringMVC+MyBatis框架从XML配置迁移到纯注解配置的方法。通过使用@Configuration、@ComponentScan、@Bean等核心注解替代传统XML配置,实现了配置与代码的一体化。文章分步骤演示了数据源、MyBatis、事务、MVC等模块的注解配置方式,并提供了完整的工程结构示例。纯注解配置不仅解决了XML臃肿、维护成本高的问题,还提升了开发效率和代码可读性,为迁移到SpringBoot打下基础。这种配置方式能显著提升项目的开发和维护效率。

2026-03-26 12:00:00 458

原创 【SpringMVC 进阶】拦截器、文件上传、异常处理与 SSM 整合全解析

本文深入讲解SpringMVC核心进阶知识,包括拦截器实现(登录校验等)、文件上传配置、全局异常处理机制,并详细演示了SSM(Spring+SpringMVC+MyBatis)框架整合的全流程。通过完整代码示例,展示了从拦截器创建、文件上传处理到异常捕获的具体实现,以及SSM整合中数据库配置、事务管理、各层代码编写等关键步骤。文章最后提供了5个实战作业,帮助开发者巩固所学知识,快速掌握企业级Web开发的核心技能。

2026-03-25 19:08:39 453

原创 SpringMVC 从入门到精通(续)

本文介绍了SpringMVC的核心开发要点:1)自定义日期转换器解决前端字符串与后端Date类型的转换问题;2)三种数据传递方式(ModelAndView、Model、ServletAPI);3)JSON数据交互的实现,包括@RequestBody/@ResponseBody注解使用和AJAX请求示例;4)总结了SpringMVC的基础开发流程,并提供了常见问题解决方案。内容涵盖参数接收、数据传递和JSON交互等核心功能,为SpringMVC开发提供了实用指导。

2026-03-19 20:16:00 480

原创 SpringMVC 从入门到精通

本文介绍了SpringMVC作为JavaEE开发中替代Servlet的轻量级Web框架。首先分析了Servlet的缺陷:类爆炸、参数处理繁琐、耦合度高。然后阐述了SpringMVC基于MVC设计模式的优势,详细讲解了环境搭建步骤,包括Maven配置、核心注解使用、参数处理和视图解析。重点介绍了RequestMapping注解的路径窄化、请求方式指定功能,以及Controller方法返回值类型的选择。最后展示了基本数据类型、POJO对象和RESTful风格的参数接收方式。

2026-03-18 19:55:27 677

原创 Spring 核心知识点全解析(续)

摘要:Spring事务控制基于AOP实现,通过PlatformTransactionManager、TransactionDefinition和TransactionStatus三个核心接口提供事务管理功能。文章详细介绍了数据库事务的ACID特性、并发问题及解决方案,包括五种隔离级别和七种传播行为。通过XML和注解两种配置方式演示了Spring事务的实现过程,重点说明了@Transactional注解的使用方法及其属性配置。

2026-03-17 20:08:46 635

原创 Spring 核心知识点全解析(续)

本文主要介绍了Spring框架的两大核心技术:IOC(控制反转)和AOP(面向切面编程)。IOC通过将对象创建权交给Spring容器,实现依赖注入,解决对象间的耦合问题;AOP则通过切面编程将日志、事务等通用功能与业务逻辑解耦,提供前置、后置等五种通知类型增强业务方法。文章详细演示了基于XML和注解的AOP配置方式,并讲解了Spring与MyBatis的整合方案,包括数据源配置、SqlSessionFactory管理和Mapper接口代理对象生成等核心内容。

2026-03-13 20:21:47 625

原创 Spring 核心知识点全解析(续)

本文摘要:Spring框架提供了两种工厂类(ApplicationContext和BeanFactory)和多种Bean作用域(singleton/prototype等)。通过XML或注解方式配置IOC容器,注解方式更简洁高效,包括@Component、@Autowired等核心注解。Bean的生命周期因作用域不同而异,单例Bean随容器启动/关闭而创建/销毁,多例Bean由JVM管理。注解配置需开启扫描并合理使用各层专用注解(@Controller/@Service等),支持属性注入和读取配置文件。

2026-03-12 21:26:07 783

原创 Spring 核心知识点全解析(IOC+AOP)

本文系统介绍了Spring框架的核心技术IOC和AOP。首先概述Spring作为轻量级JavaEE框架,通过IOC解决程序耦合问题,AOP实现功能增强。重点解析了IOC的实现原理,包括工厂模式解耦和Spring官方实现,详细演示了XML配置方式及四种依赖注入方法(构造器注入、set注入、自动注入和集合注入)。文章通过代码示例展示传统开发耦合问题及Spring解决方案,帮助开发者深入理解Spring核心思想。

2026-03-11 19:29:12 718

原创 MyBatis 从入门到精通(续)

MyBatis动态SQL与缓存机制解析 本文系统介绍了MyBatis的动态SQL功能和缓存机制。动态SQL部分详细讲解了if、where、set、trim、foreach等核心标签的使用方法,通过条件判断和循环遍历实现SQL语句的灵活拼接,解决了传统SQL硬编码问题。缓存机制部分阐述了一级缓存(SqlSession级别)和二级缓存(SqlSessionFactory级别)的工作原理、配置方式和使用场景,以及如何通过缓存提升查询性能。文章还简要介绍了注解开发方式,并对比了XML配置与注解开发的优缺点。

2026-03-09 19:15:29 739

原创 MyBatis 从入门到精通(续)

本文介绍了MyBatis中的一对多和多对多查询实现方法,以及延迟加载配置。一对多查询通过<collection>标签实现,在User实体中添加Account集合属性,并使用左外连接保证无账户用户也能查询。多对多查询本质是双向一对多,通过中间表实现角色与用户的关联。延迟加载通过配置lazyLoadingEnabled实现按需查询,可全局或局部设置,使用时才触发关联查询,提升性能。文中详细说明了实体类修改、Mapper配置和测试方法,为复杂关系查询提供了解决方案。

2026-03-07 10:37:18 532

原创 代理模式详解:静态代理、JDK 动态代理、CGLIB 动态代理

本文详细介绍了代理模式的三种实现方式:静态代理、JDK动态代理和CGLIB动态代理。静态代理需要手动编写代理类,适用于简单场景但扩展性差;JDK动态代理基于反射机制,要求目标类实现接口,能动态生成代理类;CGLIB动态代理通过继承目标类生成子类,无需接口支持。文章以"周杰伦演出"为例,展示了三种代理的具体实现代码,并比较了它们的特性、性能及适用场景。最后指出Spring框架已集成这两种动态代理方式,理解代理模式有助于掌握Spring AOP等核心功能原理。

2026-03-06 17:55:28 717

原创 MyBatis 从入门到精通(续)

本文详细讲解MyBatis核心功能,包括ORM映射的两种实现方式(列别名和ResultMap)、核心配置文件标签(properties、typeAliases、mappers)的使用技巧,以及关联查询中一对一关系的实现方法。重点介绍了ResultMap结果映射的配置、批量别名定义、三种Mapper加载方式,并通过账户关联用户的实例演示了<association>标签的应用。内容涵盖MyBatis从基础配置到高级查询的核心知识点,帮助开发者全面掌握MyBatis框架的使用。

2026-03-05 20:56:19 400

原创 MyBatis 从入门到精通

本文详细介绍了MyBatis环境搭建、核心配置及CRUD实现,并对比了#{}与${}的区别,帮助开发者快速掌握这一轻量级框架。

2026-03-04 20:44:25 842

原创 Maven从入门到精通(续)

本文介绍了Maven的核心功能和使用方法。主要内容包括:1)依赖管理,解析直接/间接依赖关系及冲突解决方法(声明优先、路径近者优先、排除依赖、版本锁定);2)依赖范围控制(compile/test/runtime/provided);3)项目拆分与聚合,演示如何创建父工程和子模块(dao/service/web)实现分层开发;4)私服Nexus的安装配置及Jar包发布下载流程。通过实际案例展示了Maven在项目构建、依赖管理和团队协作中的重要作用,帮助开发者提高项目开发效率。

2026-02-06 10:10:55 984

原创 Maven从入门到精通

摘要:本文全面介绍Maven项目管理工具的核心使用,包括Maven简介、安装配置、IDEA集成、工程创建、生命周期管理及依赖管理等内容。重点讲解了Maven通过坐标管理依赖、自动构建项目的优势,详细演示了环境配置、镜像加速、工程创建等实操步骤,并解析了Maven三套生命周期及其常用命令。文章还涉及工程拆分聚合等难点内容,为Java开发者提供完整的Maven学习指南。

2026-02-03 20:24:59 1396

原创 JDBC(Java Database Connectivity)

JDBC是Java操作关系型数据库的标准接口,所有高级框架(如MyBatis、JdbcTemplate)均基于其封装。核心流程包括:加载驱动→获取连接→预编译SQL(防注入)→执行→处理结果→关闭资源。关键接口为Connection、PreparedStatement、ResultSet,需严格按顺序释放资源。

2026-02-02 20:45:36 1098

原创 JavaSE(十三)

Java反射机制概述 Java反射(Reflection)是一种强大的运行时特性,允许程序动态获取和操作类的信息。反射的核心是通过Class对象访问JVM中存储的类元数据,包括构造器、字段和方法等。主要功能包括: 获取类信息(名称、父类、接口等) 动态创建实例(通过Constructor.newInstance) 访问成员变量(包括私有变量,通过Field类) 调用方法(包括私有方法,通过Method.invoke) 处理注解(通过Annotation相关方法) 反射突破了编译期访问限制,但需谨慎使用以避免

2026-01-30 20:41:59 726

原创 JavaSE(十二)

本文主要探讨线程安全相关概念及解决方案。线程安全问题源于多个线程同时操作共享数据(如全局变量、静态变量),表现为资源冲突(如转账案例)。解决方法包括7种同步机制:同步代码块、同步方法、同步锁(ReentrantLock)、volatile变量、ThreadLocal、阻塞队列和原子变量。同时分析了死锁成因(循环等待资源)及避免方法,并介绍了线程通信的wait/notify机制。最后阐述了线程生命周期5个状态:新建、就绪、运行、阻塞和死亡。通过同步控制和通信机制可确保多线程程序的正确执行。

2026-01-28 12:00:00 2640

原创 JavaSE(十一)

本文介绍了Java多线程编程的基础知识和实现方法。首先解释了并发(同一时间段内发生)与并行(同一时间点发生)的区别,以及进程和线程的概念。详细讲解了四种线程创建方式:继承Thread类、实现Runnable接口、实现Callable接口(支持返回值)和使用线程池(ThreadPoolExecutor)。其中线程池通过预先创建线程减少资源消耗,核心参数包括核心线程数、最大线程数、任务队列等。文章还介绍了Thread类的常用方法如join()、sleep()和yield(),以及Executors工具类简化线程

2026-01-27 20:10:11 782

原创 JavaSE(十)

本文介绍了Java IO流的核心知识点,主要包括:1) File类用于文件和目录操作,支持路径处理、创建删除等功能;2) IO流分为字节流和字符流,以及输入输出流;3) 字节流(FileInputStream/OutputStream)处理二进制数据,字符流(FileReader/Writer)处理文本;4) 缓冲流(BufferedInputStream等)通过内存缓冲区提高IO效率;5) 转换流(InputStreamReader等)实现字符编码转换;6) 对象流(ObjectInputStream等)

2026-01-26 08:32:26 886

原创 JavaSE(九)

Java泛型编程指南 摘要: 本文系统介绍了Java泛型的概念与应用。泛型通过参数化类型解决了集合容器类型安全问题,避免了强制类型转换。主要内容包括:1) 泛型类的基本格式和使用场景;2) 泛型方法的定义与实际应用;3) 泛型接口的实现方式;4) 类型通配符的分类(无界、上限、下限)及使用场景;5) 可变参数的定义与应用。通过多个代码案例演示了如何利用泛型提高代码复用性和类型安全性,特别展示了Collections工具类中泛型的典型应用。文章还解释了泛型与多态的关系,以及如何使用通配符处理类型继承问题。

2026-01-24 09:50:11 1118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除