自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用注解封装查询相关的功能

在query对象中使用WordUtils工具类——对字符串命名方式做处理,具体代码见下文query对象中定义了一个tuple抽象对象——这个类是创建一个QueryParam注解类@Repeatable(QueryParams.class)作用允许在一个方法上同一个注解多次使用创建一个QueryParams包装QueryParam创建QueryConverterAspect类,添加@Aspect和@Component。

2025-09-17 21:02:00 675

原创 spring、springMVC、springboot

Spring框架生态解析(150字摘要) Spring是Java开发的核心框架,提供IoC容器和AOP等基础功能。其子模块SpringMVC专司Web层开发,处理HTTP请求响应。SpringBoot作为上层封装,通过自动配置和starter机制简化了Spring应用开发。三者呈递进关系:Spring是地基(基础容器),SpringMVC处理Web层(Servlet实现),SpringBoot则是开发加速器(内嵌容器+自动配置)。典型场景中,SpringBoot整合前两者,开发者仅需@SpringBootA

2025-07-03 14:27:07 698

原创 @Transaction事务注解

组件作用标记事务入口AOP 拦截事务逻辑解析事务属性控制事务行为启动 AOP 事务管理**事务失效 80% 是因为“代理机制未生效”,20% 是因为“异常未被识别”或“配置不当”。**理解 Spring AOP 是关键。

2025-06-30 14:38:26 910

原创 Bean的初始化和实例化的区别

摘要:Spring Bean的生命周期分为实例化和初始化两个关键阶段。实例化是指通过构造函数创建对象的过程;初始化则包括依赖注入、执行@PostConstruct方法、实现InitializingBean接口的afterPropertiesSet()等操作,使Bean达到可用状态。BeanPostProcessor可以在初始化前后对Bean进行增强处理。合理使用@PostConstruct、afterPropertiesSet等方法进行属性修改,其中@PostConstruct是最安全常用的初始化点。完整生

2025-06-26 15:33:36 472

原创 mybatis实现多租户

)

2025-06-24 16:44:22 1083

原创 不同隔离级别增删改语句默认加锁种类

本文系统梳理了数据库事务隔离级别与锁机制的关系。主要内容包括:1)区分读锁(共享锁S)和写锁(排他锁X);2)分析不同隔离级别下查询和修改操作的默认加锁行为,指出Serializable级别会为普通SELECT加S锁;3)对比快照读(MVCC无锁)与当前读(FOR UPDATE加锁)的区别;4)强调所有修改操作都会加X锁,UPDATE/DELETE还可能加间隙锁。通过表格直观展示了各隔离级别下的锁行为差异,帮助理解数据库并发控制机制。

2025-06-16 11:08:59 355

原创 临时表和子查询的区别

SQL查询优化对比:临时表(A)与子查询(B)两种写法在逻辑上等效,但执行层面存在差异。临时表适用于复杂查询和大数据场景,具有可复用性、分步调试和可控性优势;子查询则更简洁,适合简单的一次性查询。MySQL 8.0+优化器缩小了性能差距。建议根据查询复杂度、数据量和复用需求选择合适方案,复杂场景优先考虑临时表,简单查询可使用子查询。

2025-06-11 16:03:56 442

原创 MySQL索引下推

索引下推(ICP)是MySQL 5.6+引入的查询优化技术,通过将WHERE条件下推到存储引擎层进行过滤,减少不必要的回表操作。当WHERE条件涉及多列索引且部分条件无法直接使用索引时,ICP允许引擎先过滤数据再回表,显著提升性能。在EXPLAIN结果中,"Using index condition"即表示使用了ICP。该技术适用于二级索引查询,要求条件涉及索引的多列,能有效减少数据访问量,优化查询效率。

2025-06-11 15:22:33 396

原创 组合索引、聚簇索引、覆盖索引的区别

组合索引是对多个列联合建立的一个索引。这是一个对两列的联合索引。聚簇索引是指表的数据行实际存储在索引的叶子节点中。在 MySQL 的 InnoDB 引擎中,主键就是聚簇索引。覆盖索引是指一个查询所需要的所有列都可以从一个索引中直接获取到,不需要回表查询主键。特性组合索引聚簇索引覆盖索引定义多个列组成一个索引数据按主键顺序存储查询列全部包含在索引中是否存数据不存原始行数据,只存索引列叶子节点存放整行数据索引中已包含查询所需所有列是否唯一可唯一也可非唯一通常是主键(唯一)

2025-06-11 15:17:16 1132

原创 docker迁移

内容方法镜像数据卷tar打包配置文件.cnf.conf同步过去容器参数使用保留配置如果你有用 Docker Compose,我可以帮你转换为跨服务器部署方案。如果要用更优的方式(如远程备份 + 数据库导入),也可以告诉我。是否需要?

2025-06-09 17:43:03 740

原创 RPC和openFeign的区别

OpenFeign 是基于 HTTP 的远程调用工具(属于 REST 风格),而 RPC 是一种更底层、更高效的远程调用机制,可以使用二进制协议进行通信。你关心的点推荐选择性能优先,高频调用选择 Dubbo、gRPC 等 RPC 框架易用性、可调试使用 OpenFeign服务对外暴露 APIHTTP/REST 更合适多语言交互使用 gRPC、Thrift与 Spring Cloud 深度集成OpenFeign 是首选如果你是在 Java 微服务项目中使用 Spring Cloud,

2025-06-09 17:09:15 481

原创 函数式接口@FunctionalInterface

只包含一个抽象方法的接口(可以有默认方法和静态方法),是 Java 8 引入以支持 Lambda 表达式的关键点。

2025-06-09 17:06:44 335

原创 MySQL、SQL Server、Oracle、PostgreSQL 等数据库锁的切换情况、条件、机制和注意事项

本文对比分析了四种主流数据库的锁机制: 1️⃣ MySQL:支持行锁和表锁,未命中索引时会从行锁退化为表锁,属于被迫降级而非自由切换 2️⃣ SQLServer:唯一支持行锁/页锁/表锁自动升级的数据库,根据访问量阈值或内存压力动态调整锁粒度 3️⃣ Oracle:仅支持行锁和表锁,但行锁不可升级,需显式指定表锁,采用乐观并发+行锁策略 4️⃣ PostgreSQL:基于MVCC实现行锁,SELECT不阻塞,锁类型由操作决定且不会自动切换 关键差异:自动锁升级仅SQLServer支持,MySQL是退化,Or

2025-05-29 15:09:52 774

原创 datart

datart

2023-11-07 10:20:55 742

原创 springboot整合mycat

该文件为全局自增主键配置对于table定义了autoIncrement=“true” primaryKey="id"的表,需要配置全局自增序号(注意全大写)。,类型为String,值格式为dataId-分表ID,dataId用于分组ID计算,为数据量提供扩展性;实现calculateRange范围分片DN计算方法(参数是burst值)在类中定义volume、step、mod三个变量,并提供set方法。实现calculate 等值分片DN计算方法(参数是burst值)Volume是每组分片的数据容量。

2023-05-15 16:28:35 1984

原创 Mysql8的特性

mysql为了避免无限递归默认递归次数为1000,可以通过设置cte_max_recursion_depth参数增加递归深度,还可以通过max_execution_time限制执行时间,超过此时间也会终止递归操作。以上是我们研究了树型表的查询方法,通过递归的方式查询课程分类比较灵活,因为它可以不限制层级。如果树的层级固定可以使用表的自链接去查询,比如:我们只查询两级课程分类,可以用下边的SQL。初始节点为1-1-1,通过递归找到它的父级节点,父级节点包括所有级别的节点。下边我们使用递归实现课程分类的查询。

2023-05-14 16:56:17 402

原创 汉字转拼音——Java

【代码】汉字转拼音——Java。

2023-04-13 19:00:11 215

原创 每日一题——算法

关键:想到求等差数列的最短长度的公差。===求所有相邻两数查值的最大公约数。注意事项:左节点需先。,然后再和右节点合并。

2023-04-04 20:47:42 202

原创 JVM简介

jvm

2023-04-01 18:24:39 106

原创 时间复杂度计算

时间复杂度的计算

2023-03-24 21:41:28 515 2

原创 网关的搭建gateway

网关的搭建

2023-03-24 21:39:55 1053

原创 Netty进阶

Netty

2023-03-24 21:37:19 88

原创 Netty基础NIO

Netty和NIO

2023-03-24 21:34:17 85

原创 事务回滚哦

事务回滚

2023-03-24 21:31:06 1227

原创 延时队列处理超时订单

延时消息队列

2023-03-24 20:23:30 554

原创 最大公约数

【代码】最大公约数。

2023-03-24 15:24:49 89

原创 常用算法模板

常用算法模板

2023-03-19 20:36:35 341

原创 购物车的实现

用户添加购物车,只需要将要加入购物车的商品存入到Redis中即可。一个用户可以将多件商品加入购物车,存储到Redis中的数据可以采用Hash类型。我们发现个问题,就是用户将商品加入购物车,无论数量是正负,都会执行添加购物车,如果数量

2023-03-10 17:32:05 2250

原创 Author权限认证

Author权限认证,用户权限授权

2023-03-07 11:00:15 1138

原创 uniapp的跨域问题

浏览器不能执行其他网站的脚本,从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。

2023-03-04 10:02:01 921

原创 Netty

该方法会首先切换 EventLoopGroup 到关闭状态从而拒绝新的任务的加入,然后在任务队列的任务都处理完成后,停止线程的运行。ps:简单讲,netty是一个基于协议,支持快速构建客户端、服务端,用于网络io交互的异步非阻塞、高性能、可维护框架。netty 的 Future 继承自 jdk 的 Future,而 Promise 又对 netty Future 进行了扩展。netty 中的 Future 与 jdk 中的 Future 同名,但是是两个接口。ch调用write得流程。

2023-03-04 09:31:16 198

原创 login登录,登出,注册业务——Java

login登录,登出,注册业务——Java

2023-02-28 12:25:48 506 1

原创 websocket实现通讯——Java

websocket实现通讯——Java

2023-02-28 12:24:19 4043

原创 eureka的搭建

eureka的搭建

2023-02-28 12:20:00 953

原创 记忆优化搜索——c++

【代码】记忆优化搜索——c++

2023-02-28 12:17:16 103

空空如也

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

TA关注的人

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