自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MQ高级技术

本文摘要:消息队列可靠性保障主要涉及发送者、MQ和消费者三个层面。发送者通过重连机制、Confirm确认和Return回调确保消息可靠投递;MQ通过数据持久化(交换机、队列、消息)和LazyQueue机制保障数据安全;消费者侧采用确认机制、失败重试策略和业务幂等性(唯一ID和业务判断)处理消息。此外,还介绍了死信交换机(需匹配BindingKey)和延迟消息插件两种特殊处理机制,共同构建完整的消息可靠性解决方案。

2025-12-23 14:10:08 279

原创 MQ快速入门

本文介绍了消息队列(MQ)的调用方式和技术选型,重点讲解了Java客户端的使用方法。内容涵盖同步/异步调用对比、MQ技术选型考量,以及Java客户端的详细实现方案,包括简单消息收发、WorkQueue负载均衡、三种交换机模式(Fanout/Direct/Topic)的应用场景、队列/交换机声明方式(基于Bean和注解)以及消息转换器。特别说明了WorkQueue的"能者多劳"机制和Direct交换机在支付业务中的实际应用。最后提到业务改造相关内容,为系统架构优化提供技术参考。

2025-12-21 15:08:57 266

原创 微服务保护和分布式事务

本文系统介绍了微服务架构中的关键问题与解决方案。首先分析了雪崩问题的成因及应对策略(请求限流、线程隔离、服务熔断),然后详细阐述了Sentinel服务保护技术的实现机制,包括簇点链路管理、请求限流、线程隔离策略(QPS与并发线程数限制)、Fallback机制和服务熔断。最后探讨了分布式事务解决方案Seata,重点介绍了XA和AT两种模式的实现原理。全文通过技术维度对比和实际应用场景,为构建高可用微服务系统提供了完整的治理方案。

2025-12-20 16:46:23 459

原创 微服务架构-网关

本文介绍了Spring Cloud Gateway的核心功能与实现方案。主要内容包括:1. 网关概述:对比Zuul与Gateway的技术差异,说明网关作为统一入口的服务发现、负载均衡和路由转发机制。2. 登录校验实现:详细讲解自定义全局过滤器的开发流程,包括JWT解析、路径排除逻辑和用户信息传递。3. 用户信息传递:介绍网关到微服务(通过请求头)和微服务间(通过OpenFeign)的用户ID传递方案,包含拦截器实现和线程上下文管理。4. 配置管理:说明Nacos配置中心的共享配置拉取、热更新和动态路由配置方

2025-12-20 11:31:56 650

原创 微服务架构-服务治理

本文摘要:文章系统介绍了Nacos注册中心的核心原理与实现,包括服务注册发现机制(服务启动注册、消费者监听、健康检查)、动态配置中心功能。详细解析了Spring Cloud中的ServiceInstance结构及其五大核心要素,并对比了两种API管理方案。重点阐述了OpenFeign的最佳实践,特别强调独立API包在编译效率、依赖管理等方面的优势。全文从原理到实践,完整呈现了微服务架构下服务治理的关键技术实现路径。

2025-12-17 18:33:35 935

原创 Docker部署与常用命令

本文介绍了Docker的核心概念和常用操作,包括镜像与容器的区别、Docker部署流程以及实用命令指南。主要内容涵盖:镜像管理(拉取、推送、打包等)、容器生命周期控制(创建、启动、停止等)、调试技巧(查看日志、进入容器)、Dockerfile构建镜像方法,并以Nginx部署为例演示完整流程。此外还讲解了数据卷挂载实现持久化存储、本地目录映射、自定义镜像构建等进阶功能,帮助用户掌握Docker的核心使用场景和关键操作技巧。

2025-12-13 15:33:19 1100

原创 JVM垃圾回收调优

本文系统介绍JVM垃圾回收调优方法。首先明确调优目标(低延迟或高吞吐),推荐ZGC/Shenandoah/G1等低延迟收集器。新生代调优重点:1)-Xmn不宜过大(建议≤1/3堆),避免FullGC频繁;2)幸存区设置SurvivorRatio=6、TargetSurvivorRatio=90等参数,控制晋升率<1%。老年代调优三步走:先不调→调新生代→最后增加老年代容量。强调调优红线:Old使用率>85%时应换收集器而非继续调参。提供完整生产参数模板和jstat监控方法。

2025-12-09 21:23:02 1005

原创 JVM从浅入深

本文系统梳理了JVM内存结构与垃圾回收机制。内存结构部分详细解析了程序计数器、虚拟机栈、堆、方法区、直接内存等核心区域的功能特性及常见问题(如内存溢出诊断)。重点剖析了StringTable的版本差异与调优策略,以及直接内存的分配回收原理。垃圾回收部分深入探讨了引用类型、可达性分析算法,并对比了串行、吞吐量优先、响应时间优先等回收策略。特别对G1回收器进行了全方位解析,包括跨代引用处理、SATB标记机制等关键技术实现。全文通过参数示例、流程图解和记忆口诀,为JVM性能调优提供了系统性指导。

2025-12-09 14:15:54 1033

原创 XXL_JOB定时任务

本文介绍了XXL-JOB调度系统的核心架构与执行流程。系统由调度中心、执行器和调度任务三部分组成,详细说明了配置创建流程(包括服务启动、执行器注册和任务创建)以及调度通讯流程。针对常见问题提供了Token配置和数据库连接错误的解决方案,并指导如何在项目中添加定时任务(依赖引入、配置类创建、任务类编写)及部署测试环境(数据库配置修改、jar包部署)。通过清晰的步骤说明和问题处理指南,帮助用户快速掌握XXL-JOB的使用方法。

2025-11-21 17:59:35 527

原创 Redis-实现分布式锁

JVM锁在集群环境下存在根本性缺陷,仅能保证单进程内的线程互斥,无法实现跨节点同步。分布式锁通过Redis等中间件实现全局互斥,但需解决误删锁、原子性等问题。Redisson通过Lua脚本、线程标识、看门狗续期等机制实现可重入分布式锁,支持公平/非公平模式。MultiLock则将多把锁打包为原子操作,确保"全有或全无"的一致性。针对不同场景,需合理选择锁方案,并注意超时释放、可重入性等关键问题,以平衡性能与安全性。

2025-09-19 14:37:05 2515

原创 Redis-更新策略

缓存策略与解决方案摘要 本文介绍了三种缓存更新策略:内存淘汰、超时剔除和主动更新,分析了各自的适用场景。重点阐述了CacheAside模式的最佳实践,强调"先写库再删缓存"的顺序以避免脏数据。针对缓存穿透问题,提出空对象缓存和布隆过滤器两种解决方案。最后讨论了缓存雪崩和缓存击穿的应对措施,包括互斥锁和逻辑过期两种方案选择依据。全文提供了从基础策略到高并发场景下缓存问题的完整解决方案框架。

2025-09-17 19:50:05 964

原创 Redis的Java客户端

本文介绍了Spring Data Redis中RedisTemplate的使用方法及序列化方案。RedisTemplate是Spring封装的Redis客户端,支持面向对象操作Redis。默认使用JDK原生序列化,但推荐自定义序列化配置:key和hashKey使用String序列化保持可读性,value和hashValue采用JSON序列化。文章对比了自动序列化(GenericJackson2JsonRedisSerializer)和手动序列化(StringRedisTemplate+ObjectMappe

2025-09-15 14:01:53 321

原创 Redis常见命令

Redis是内存数据库,支持多种数据结构:String(字符串)、Hash(哈希表)、List(列表)、Set(集合)和SortedSet(有序集合)。每种类型都有对应的通用命令和专用操作命令,适用于不同的数据存储和查询场景。

2025-09-15 09:30:00 210

原创 Linux常用指令

本文介绍了Linux系统的基本操作命令,主要包括目录操作和文件管理。目录操作涉及ls查看目录内容(支持-l查看详情、-a显示隐藏文件)、pwd显示路径、cd切换目录、mkdir创建目录以及rm删除目录。文件操作包含拷贝、移动、压缩打包、文本编辑和查找等功能命令。其中,ls -l可查看文件详细权限(rwx分别代表读写执行权限)。这些基础命令是Linux系统管理和日常使用的核心工具。

2025-09-02 12:10:21 210

原创 Spring-Boot原理

SpringBoot通过起步依赖简化依赖管理,自动解决版本冲突问题。其核心原理包括:1)组件扫描机制自动发现被@Component标记的类;2)基于反射和Bean工厂创建管理Bean;3)通过@Import动态导入配置类。自动配置基于条件注解实现,读取META-INF/spring下的配置清单加载预设Bean。自定义Starter封装常用配置,实现依赖自动装配。整个过程体现了约定优于配置的思想,显著提升开发效率。

2025-09-01 15:31:05 714

原创 Tlias系统后端开发-员工管理

本文摘要介绍了员工管理系统的后端实现方案,主要包括分页查询、条件查询、新增/删除/修改员工、文件上传和异常处理等核心功能。系统采用Spring Boot+MyBatis框架,实现分页查询时通过PageHelper插件拦截SQL语句;新增员工采用主键回填技术;修改员工采用"先删除后插入"策略处理工作经历;文件上传支持本地存储和阿里云OSS两种方式;通过@RestControllerAdvice实现全局异常处理。系统还实现了动态SQL、事务管理、结果集映射等关键技术点,为员工管理提供了完整的

2025-08-31 18:05:59 1005

原创 Spring AOP-面向切面编程

AOP(面向切面编程)通过切面类实现方法拦截和增强功能。核心是使用@Aspect声明切面,通过切点表达式确定作用范围,@Around等通知类型实现方法拦截。Spring容器启动时解析切面配置,动态生成代理对象替代原始Bean,在方法调用时执行切面逻辑。AOP可实现统一日志记录、性能监控等功能,如自定义@Loggable注解配合切面实现方法级日志记录。事务管理本质也是基于AOP的封装,体现了AOP的解耦和代码复用优势。

2025-08-29 09:49:11 987

原创 Tlias系统后端开发-部门管理

本文介绍了基于SpringBoot框架的RESTful风格后端开发流程。主要内容包括:1.工程搭建与三层架构设计(Controller、Service、Mapper);2.部门管理功能实现(查询、删除、新增、修改);3.前后端联调配置(Nginx反向代理);4.参数接收方式(@RequestParam、@RequestBody、@PathVariable);5.最佳实践(公共路径抽取、RESTful规范)。通过分层架构实现业务逻辑分离,结合Nginx解决跨域问题,并详细说明了各种请求参数的接收方式。

2025-08-25 14:46:11 1026

原创 Mybatis操作数据库

本文介绍了MyBatis框架的基本使用和配置方法。主要内容包括:1. 入门程序搭建:通过引入Lombok、MyBatis和MySQL驱动依赖,定义Mapper接口并使用注解绑定SQL语句;2. 测试类编写:展示如何通过SpringBoot测试注解加载容器并自动注入Mapper;3. CRUD操作:详细说明增删改查的实现方式,包括参数传递和结果处理;4. XML映射配置:解释XML文件与接口方法的绑定规则和执行流程;5. 辅助配置:介绍SQL提示、日志输出等实用功能配置。文章还对比了MyBatis与传统JDB

2025-08-24 12:37:05 981

原创 SpringBootWeb入门

本文摘要: Spring Boot入门指南介绍了RESTful API开发的核心概念。重点讲解了@RestController和@RequestMapping注解的使用及执行流程,HTTP协议的请求响应处理,以及典型的三层架构实现(Controller-Service-Dao)。文章详细阐述了分层解耦思想,通过IOC(控制反转)和DI(依赖注入)实现组件间的松耦合。特别说明了@Component及其派生注解(@Controller/@Service/@Repository)的使用,以及当存在多个同类型Bea

2025-08-23 16:04:32 2166

原创 Vue快速入门

本文介绍了Vue.js框架的核心内容,包括Vue概述、模板创建与数据准备、常用指令(v-for、v-bind、v-if/show、v-model、v-on)、Ajax异步请求实现(包括Axios使用和async/await同步操作)以及Vue生命周期。重点讲解了Vue的响应式数据绑定机制、指令使用场景和方法定义,并通过案例说明如何实现前后端数据交互。文中还详细对比了v-if和v-show的区别,并强调了mounted等生命周期钩子函数的重要作用。

2025-08-23 10:39:27 342

原创 Maven初识到应用

Maven是一款项目管理工具,主要提供依赖管理(自动下载配置的依赖包)、标准化构建(编译打包)和统一项目结构功能。其核心包括MAVEN坐标定位、依赖范围控制(如测试依赖限定范围)、生命周期管理(各阶段独立执行)。在单元测试方面,支持断言验证、参数化测试(@ParameterizedTest)和注解说明(@DisplayName),通过Expected/Actual比对结果,异常类型校验等确保代码质量。

2025-08-22 09:27:24 406

原创 Java-JDBC操作数据库

本文介绍了Java数据库编程(JDBC)的核心技术,主要包括:1. JDBC基础操作:通过DriverManager注册驱动、获取连接,使用Statement执行SQL语句;2. 事务管理:通过Connection对象实现事务的开启、提交和回滚;3. PreparedStatement应用:解决SQL注入问题,提高安全性;4. Druid数据库连接池:配置和使用方法,提升连接效率;5. CRUD操作实现:详细讲解了查询、新增、修改和删除的代码实现,包括结果集处理和参数设置。文章包含大量代码示例,展示了如何连

2025-08-20 15:12:31 1357

原创 MySQL-分库分表(Mycat)

本文系统介绍了MyCat数据库中间件的分库分表技术。主要内容包括:1)垂直拆分和水平拆分的原理与实现方式;2)MyCat的核心配置文件schema.xml、rule.xml , server.xml的详细配置方法;3)多种分片规则(范围分片、取模分片、一致性哈希等)的具体应用;4)MyCat的SQL解析与结果合并机制。文章通过具体配置示例,展示了如何利用MyCat实现数据分片、路由查询等功能,解决单数据库性能瓶颈问题,为大数据量场景下的数据库架构设计提供了实用指导方案。

2025-08-19 11:21:12 2143

原创 MySQL-主从复制/读写分离

MySQL主从复制与读写分离技术摘要 本文系统介绍了MySQL主从复制与读写分离技术。主从复制通过二进制日志(Binlog)实现数据同步,主库记录变更,从库读取并重做日志,确保数据一致性。配置过程包括主/从库参数修改、账号授权及日志坐标设置。读写分离将读/写操作分配到不同服务器,主库处理写请求,从库负责读请求,通过MyCat实现负载均衡。文章还详细阐述了一主一从和双主双从架构,后者通过主库互备提高可用性。这些技术能有效提升数据库性能、可用性和扩展性,是构建高并发系统的关键技术方案。

2025-08-18 08:47:10 436

原创 MySQL-日志

MySQL日志系统主要包括四种类型:1.错误日志记录服务器启动/停止及严重错误信息;2.二进制日志记录DDL/DML语句(默认开启),用于数据恢复和主从复制,支持STATEMENT(记录语句)和ROW(记录数据变更)两种格式;3.查询日志记录所有操作语句(默认关闭);4.慢查询日志记录执行超时(默认10秒)的SQL语句(默认关闭),可配置记录管理语句和不使用索引的查询。不同日志各司其职,是数据库运维的重要工具。

2025-08-17 20:21:38 449

原创 SQL优化

MySQL数据库优化技巧摘要:本文总结了MySQL数据库优化的7个关键方面:1. INSERT优化建议批量插入、手动提交事务和顺序插入主键;2. 主键优化包括页分裂/合并机制和设计原则(短主键、自增主键);3. ORDER BY优化通过建立合适索引避免文件排序;4. GROUP BY优化同样需要遵循最左前缀法则;5. LIMIT优化推荐使用覆盖索引+子查询方式;6. COUNT优化中count(*)性能最佳;7. UPDATE优化强调索引对行锁的重要性。这些优化技巧可显著提升数据库性能,特别是对大数据量操作

2025-08-17 18:59:30 648

原创 MySQL进阶-锁

摘要:本文系统介绍了MySQL中的锁机制,包括全局锁、表级锁和行级锁三大类。全局锁用于全库备份,会阻塞所有写操作;表级锁包含表锁、元数据锁和意向锁,其中意向锁可减少表锁检查冲突;行级锁则通过间隙锁和临键锁防止幻读问题。文章详细分析了各类锁的语法、特点和应用场景,并指出锁冲突对数据库并发性能的影响,最后强调InnoDB引擎通过--single-transaction参数可实现无锁备份。锁机制是确保数据一致性和并发控制的核心技术。

2025-08-16 20:40:01 1207

原创 MySQL进阶-索引(全面讲解)

本文系统介绍了MySQL索引的核心概念与应用。主要内容包括:索引的B+Tree、Hash等数据结构及其特点;InnoDB选择B+Tree的原因;聚集索引与二级索引的区别;索引使用规则(最左前缀法则、索引失效情况);索引优化策略(覆盖索引、前缀索引等);索引设计原则与分类。特别强调了B+Tree的优化实现、联合索引的工作原理,以及如何通过执行计划分析索引性能。文章为数据库索引的深入理解和实践应用提供了全面指导,适合开发者和DBA参考。

2025-08-16 14:59:05 1195

原创 MySQL存储引擎

MySQL存储引擎选择需根据应用需求决定:InnoDB适合事务性应用,支持高并发;MyISAM适合读多写少场景;MEMORY适用于临时数据存储和缓存。复杂系统可组合使用不同引擎。关键是根据数据的完整性、一致性要求以及读写比例来选择合适的存储引擎。

2025-08-15 13:45:27 340

原创 Java高级技术-动态代理

第3个参数通过匿名内部类创建,当代理对象调用方法的时候移入内部类中的invoke方法,接受 1.该代理对象 2.被代理方法 3.被代理方法的参数。method接受了被代理方法,将其当作方法对象调用invoke,本质就是a.method()利用Proxy.newProxyInstance方法创建代理对象,该方法包含3个参数。代理类:实现了接口,通过内部方法接受一个明星类的实例对象生成专属的代理对象。接口:代理类与被代理类都需要实现同一接口。

2025-08-15 12:51:52 346 1

原创 Java高级技术-注解

Java注解是现代开发中的核心特性,通过元数据增强代码功能。本文详解了自定义注解的定义与使用,包括单属性value的简化写法,并通过@MyTest4注解演示了类和方法级别的注解解析。重点介绍了注解的应用场景,如模拟JUnit测试框架,利用反射机制执行带有@MyTest注解的方法,并支持通过count属性控制执行次数。文章还涉及元注解@Target和@Retention的作用,展示了注解在简化代码、增强可读性和实现框架功能方面的重要价值。

2025-08-15 11:06:08 426

原创 Java高级技术-反射

Java反射机制允许程序在运行时动态获取类信息并操作对象。通过Class对象可以获取类的构造器、成员变量和方法:1)三种获取Class对象的方式(类.class、Class.forName()、对象.getClass());2)获取构造器后可通过newInstance()创建对象;3)获取成员变量后可进行读写操作(需setAccessible解除访问限制);4)获取方法后可用invoke()调用。反射还能绕过泛型约束(利用类型擦除特性)和实现通用框架(通过Object接收任意对象并反射处理其字段)。反射提供

2025-08-14 19:16:09 517

原创 多线程深入浅出

本文介绍了Java多线程编程的核心知识,包括线程基本概念和多种实现方式。主要内容包括:1.线程与多线程定义,说明多线程能提高程序效率;2.三种线程创建方式(继承Thread类、实现Runnable接口、实现Callable接口)及其代码实现,重点对比了它们的区别;3.常用线程操作方法如设置线程名称、join插队执行等;4.线程同步机制,详细讲解了同步代码块、同步方法、Lock锁三种解决方案,通过账户取钱案例演示了线程安全问题及同步处理。文章提供了丰富的代码示例,帮助理解多线程的实际应用场景和同步控制方法。

2025-08-14 11:27:39 1189

原创 Java-IO流

本文介绍了Java IO流的核心知识点,包括字节流、字符流及其应用场景。主要内容涵盖:1)文件字节输入/输出流的读写操作和文件复制实现;2)字符流处理文本数据的优势;3)缓冲流通过减少IO交互提升性能;4)资源释放的两种方式(try-catch-finally和更优的try-with-resource);5)特殊流(转换流、打印流、数据流)的使用场景。文章通过代码示例对比了不同IO流的性能差异,并强调了缓冲流在批量数据处理中的优势,以及try-with-resource语法在资源管理方面的便捷性。

2025-08-13 11:36:55 1013

原创 Stream流

对流进行最终处理,如收集、遍历、计数等,产生结果。:对流进行过滤、映射、排序等操作,返回新的流。:终端操作后流自动关闭,也可手动关闭。:从集合、数组、值等创建流。

2025-08-09 18:46:42 165

原创 集合Map家族

本文介绍了Java中Map集合的常用方法、遍历方式及实现类。主要内容包括:1)Map集合常用方法,如获取所有键(Set)和值(Collection)的遍历;2)三种遍历方式:键找值、键值对(Entry)遍历和Lambda表达式;3)应用案例:使用Map统计80个学生对4个景点的随机投票结果;4)Map的主要实现类:HashMap、LinkedHashMap和TreeMap,以及Set与Map的关系。重点展示了Map集合如何利用键值对特性进行数据存储和统计操作。

2025-08-06 10:02:32 453

原创 集合Collection家族

本文讲述集合中,单列集合Collection家族各实现类的不同特征及其底层原理

2025-08-05 15:38:23 974

空空如也

空空如也

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

TA关注的人

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