自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 针对datax-web 中Swagger UI接口未授权访问

application.yml 添加以下配置 实现访问doc.html 以及/v2/api-docs 接口时需要进行简单的校验。配置重启后再进行相关访问则需要输入用户名和密码。

2024-07-26 15:24:20 92

原创 Java 中对象List 转map实践

【代码】Java 中对象List 转map实践。

2024-07-25 15:15:43 233

原创 Mybatis-plus notExists/ Exists的使用

期间在使用notExists/ Exists 直接注入相关sql 时,需要传递相关参数,查看 notExists/ Exists 方法时是看到他可以支持传参的。Mybatis-plus 构建查询条件的时候有时会使用 LambdaQueryWrapper 直接在代码中进行查询。0,1 标识参数位置后,然后按位置数据需要传递的参数。后来发现原来是支持以下方式的使用的。

2024-07-25 13:29:36 187

原创 通过 AOP(面向切面编程)技术来拦截所有使用 @Scheduled 注解的方法,并在这些方法执行前后进行日志记录

切面(Aspect):拦截定时任务方法。通知(Advice):在方法执行前后进行日志记录和异常处理。日志记录:记录方法的开始、结束时间和执行状态。异常处理:在方法执行失败时记录异常信息。

2024-07-17 10:09:47 390

原创 使用 AOP(面向切面编程)技术对所有控制器方法的执行进行日志记录

为了方便问题诊断,有时候会想要查看接口的传入参数以及输出参数,来判断接口是否有问题,所有需要相关的打印功能,但是在相关接口上手动输入有太麻烦了,所以借助切片来实现相关功能。

2024-07-17 09:49:23 209

原创 MyBatis的原理?

首先定义一个Mapper接口,接口中的方法定义了需要执行的SQL操作。

2024-07-15 11:06:05 1225

原创 Ant 风格的路径模式和 MVC 风格的路径模式 是什么

Ant 风格的路径模式:使用**和?等符号来匹配 URL 路径,主要用于文件路径匹配。MVC 风格的路径模式:使用{}占位符来匹配路径变量,适用于 Spring MVC 控制器的请求映射。选择使用哪种模式取决于具体的应用场景和需求。对于需要匹配复杂 URL 模式的场景,MVC 风格的路径模式更为灵活和强大。

2024-07-15 09:46:28 628

原创 MyBatis的#与$有什么区别

在 MyBatis 中,和。

2024-07-12 16:49:20 264

原创 SpringBoot的动态代理默认用的哪个???

总之,Spring Boot 默认情况下会根据类是否实现接口来选择使用 JDK 动态代理或 CGLIB 动态代理。通过配置,可以强制选择使用哪种代理机制。默认情况下,Spring 会根据上面的规则自动选择代理方式。但是,如果你希望强制使用特定的代理方式,可以通过配置来实现。例如,在 Spring 的。使用代理且没有任何特殊配置,Spring 将使用 JDK 动态代理,因为。根据默认行为,如果你对。

2024-07-12 16:47:56 381

原创 SpringBoot的启动流程?

上述流程是一个高层次的概述,实际的启动过程中包含了很多细节和复杂的内部机制,如条件装配、事件发布、上下文刷新等。Spring Boot 的设计目的是为了简化 Spring 应用的配置和启动,因此很多步骤都是自动化完成的,开发者可以专注于业务逻辑的实现。

2024-07-12 16:45:44 433

原创 Mybatis-plus 公共字段自动填充功能

Mybatis-plus 公共字段自动填充功能

2024-07-12 10:54:37 397

原创 网站存在未授权访问漏洞--Swagger

swagger 相关禁用

2024-07-12 09:32:03 697

原创 原来没分库分表,后期如何分库分表?

分库分表是一项复杂且系统性工程,涉及数据库设计、数据迁移、应用程序改造和系统测试等多个方面。通过合理的规划和逐步实施,可以有效提升系统的性能和扩展能力。

2024-07-11 10:40:01 374

原创 什么时候考虑分库分表?分库分表要考虑什么问题?

分库分表是解决数据库性能和容量瓶颈的一种有效手段,但实施分库分表需要全面考虑数据一致性、分片策略、运维复杂度、应用改造等问题,确保分库分表方案能够有效提升系统的性能和可扩展性。

2024-07-11 10:19:54 447

原创 什么时候会死锁?

死锁是并发控制中的一个重要问题,通过合理的资源分配策略、死锁检测和解除机制,以及资源抢占策略,可以有效地避免和处理死锁,保证系统的稳定性和并发事务的正确执行。

2024-07-11 10:08:40 395

原创 共享锁与独占锁的区别?

共享锁:允许多个事务同时读取同一数据,不允许修改。独占锁:只允许一个事务对数据进行读写操作,其他事务在该事务释放锁之前无法访问该数据。通过合理使用共享锁和独占锁,数据库系统可以有效地控制并发访问,保证数据的一致性和完整性。

2024-07-11 09:54:52 347

原创 索引原理;为什么采用B+树?

在MySQL中,索引的原理是通过数据结构来快速查找数据。常见的索引数据结构有B树、B+树和哈希表等。MySQL大多数存储引擎(如InnoDB)使用B+树作为索引的数据结构。

2024-07-11 09:47:59 407

原创 大表分页的优化方法?

分页查询的优化方法有很多种,可以根据具体的业务需求和数据库情况选择适合的方法。常见的优化手段包括使用索引、延迟关联、覆盖索引、预计算表、缓存等。合理地使用这些方法,可以显著提高大表分页查询的性能。

2024-07-10 11:49:21 381

原创 什么是回表?

回表:在使用非聚集索引查询时,通过索引查找到行标识符后,再根据标识符回到表中读取完整数据行的过程。覆盖索引:通过创建包含查询所需所有列的非聚集索引,避免回表操作,提高查询性能。理解回表和覆盖索引的概念,可以帮助数据库设计人员优化查询性能,减少不必要的 I/O 操作。

2024-07-10 11:48:22 286

原创 聚集索引是什么?

聚集索引(Clustered Index)是一种特殊的索引类型,它决定了表中数据的物理存储顺序。与非聚集索引不同,聚集索引的叶子节点直接包含数据行,因此在查询时无需再进行回表操作。总结起来,聚集索引在提高查询性能方面非常有用,特别是对于排序和范围查询,但其插入和更新操作可能会带来性能开销。在设计数据库时,需要根据具体的应用场景合理使用聚集索引。是主键,MySQL 默认会为主键创建聚集索引。在聚集索引中,数据的存储顺序会按照。

2024-07-10 11:47:28 390

原创 Mysql ORDER BY是否走索引?

在 MySQL 中,`ORDER BY` 子句是否使用索引取决于多种因素,包括查询的具体情况、索引的类型和结构、查询中的其他条件等。

2024-07-10 11:45:25 429

原创 Mysql LIKE什么时候走索引,什么时候不走索引

在 MySQL 中,LIKE查询是否走索引,主要取决于通配符的位置和使用的存储引擎。

2024-07-10 10:52:21 525

原创 Mysql 创建了A, B, C联合索引,使用B,C能否索引

使用联合索引 (A, B, C) 时,如果查询条件中只包含 B 和 C 列,索引是无法被利用的。要使查询能够使用索引,需要在查询条件中包含联合索引的前导列 A。在 MySQL 中,创建了 (A, B, C) 的联合索引后,是否能够使用索引取决于查询条件中是否包含了前导列。

2024-07-10 10:50:19 283

原创 Mysql索引什么时候会失效

在 MySQL 中,索引是提高查询效率的关键工具,但在某些情况下,索引可能会失效。了解这些情况可以帮助你在设计和优化查询时避免索引失效,从而提高查询性能。

2024-07-10 10:48:44 447

原创 创建索引的原则

合理设计和管理索引是数据库优化的重要环节,遵循以上原则可以最大限度地发挥索引的优势,提高数据库系统的整体性能。

2024-07-02 13:43:28 396

原创 数据库使用索引的缺点?

尽管有这些缺点,索引仍然是优化数据库性能的重要工具。合理设计和管理索引可以最大限度地提高查询速度,同时尽量减少其负面影响。在数据库中使用索引虽然可以显著提高查询速度,但也存在一些缺点和限制。

2024-07-02 13:42:28 251

原创 快照读与当前读 是怎样的?

在数据库系统中,快照读(Snapshot Read)和当前读(Current Read)是两种不同的数据读取方式,它们与事务的隔离级别和一致性保证紧密相关。

2024-07-01 13:47:46 239

原创 隔离级别是如何实现的?

在数据库管理系统中,隔离级别(Isolation Level)是用来定义事务在执行过程中可以看到其他事务执行中的操作的一个设置。这主要用于控制事务之间的并发性和数据一致性。每个数据库管理系统都有自己的实现机制来支持这些隔离级别,常见的技术包括锁(如行锁、表锁)、多版本并发控制(MVCC)等。选择合适的隔离级别可以帮助平衡应用程序的一致性需求和性能要求。

2024-07-01 13:46:31 304

原创 隔离级别如何选用?

在 MySQL 中选择合适的隔离级别取决于你的应用程序对数据一致性和性能的需求。

2024-06-30 12:11:11 362

原创 隔离级别是怎样的?脏读、幻读是什么意思?

在数据库系统中,隔离级别和读现象是确保数据一致性和完整性的重要概念。

2024-06-30 12:09:23 485

原创 MySQL的三种驱动类型

每种驱动类型都有其特定的优点和适用场景,选择适合项目需求和开发风格的驱动类型是很重要的。

2024-06-29 14:33:08 272

原创 数据库优化方式

这些优化策略通常需要根据具体的应用场景和数据库负载来调整和实施。

2024-06-29 14:31:40 349

原创 为什么不建议用外键?

是否使用外键需要根据具体项目的需求和约束来决定。对于一些复杂的业务场景或大规模的系统设计,可能需要权衡外键带来的数据一致性保证与性能、灵活性之间的关系。在设计数据库架构时,需要根据具体情况做出最佳决策。尽管外键有以上这些缺点,但它们仍然在保证数据一致性和完整性方面有其独特的价值。

2024-06-28 16:20:47 629

原创 一条SQL查询语句的执行流程

通过这些步骤,MySQL 服务器可以高效地处理和优化 SQL 查询,确保数据操作的准确性和效率。

2024-06-28 16:15:29 690

原创 postman接口测试工具详解

Postman 是一个功能丰富的 API 测试工具,适用于开发、测试和运维等多个环节。通过合理利用 Postman 的各项功能,可以极大提升 API 开发和测试的效率,确保 API 的稳定性和可靠性。

2024-06-27 13:59:41 451

原创 synchronized与ReentrantLock区别?

使用时,代码简洁,适合大多数简单的同步需求。使用时,代码更加灵活,适合需要高级功能和更高并发控制的场景。根据具体需求选择合适的同步机制,能更好地实现线程安全和高效的并发控制。

2024-06-27 13:47:40 824

原创 CAS和AQS 原理

AQS是Java并发库中的一个框架类,用于构建锁或其他同步器(如信号量、读写锁等)。AQS利用一个FIFO(First-In-First-Out)队列来管理获取锁的线程。原理:状态变量:AQS内部维护一个状态变量(state),用于表示同步状态。队列:线程通过CAS操作尝试获取锁,如果失败则被加入到AQS维护的一个FIFO等待队列中。独占模式和共享模式:AQS支持独占模式(如)和共享模式(如节点管理:AQS使用内部的Node类来表示等待队列中的每个线程节点。

2024-06-27 13:45:27 286

原创 ReentrantLock显著缺点?

存在一些缺点,但它仍然是一种非常有用的同步工具,特别是在需要更多控制和灵活性的情况下。在使用时,需要仔细考虑其使用场景和性能影响,并确保正确使用和释放锁以避免出现问题。是 Java 中用于实现可重入锁的类,虽然它提供了比内置的。

2024-04-12 15:56:47 404

原创 线程池里的异常时如何处理的?

总的来说,线程池会尽量保证异常的影响范围最小化,并且提供了灵活的机制来进行异常处理,开发人员可以根据实际情况来选择合适的方式来处理异常。

2024-04-12 15:54:15 411

原创 线程池拒绝策略有哪些?默认是哪个?

需要根据实际的业务需求和系统特点来选择合适的拒绝策略,以保证系统的稳定性和性能。这些拒绝策略可以在创建线程池时通过。的构造函数来指定,或者通过。

2024-04-12 15:52:54 369

反序列化失败的原因报告

反序列化失败的原因报告

2023-07-21

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

TA关注的人

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