- 博客(143)
- 收藏
- 关注
原创 并发问题导致QPS飙升,影响数据库性能慢导致的慢sql,如何解决?
当并发问题导致QPS(每秒查询率)飙升,进而影响数据库性能并产生慢SQL时,需要从多个层面系统性地解决问题。关键是建立完善的监控体系,在问题发生前预警,并通过压测验证优化效果。并发问题导致的数据库性能下降需要。
2025-07-03 15:57:29
618
原创 数据库服务端有连接数限制吗
数据库连接数限制是保障系统稳定性的必要机制,合理设置连接数需结合硬件资源、业务并发量和性能监控数据。在高并发场景下,需通过连接池优化、超时控制和架构分流(如读写分离)等手段,在连接数限制与业务需求间找到平衡。数据库服务端通常都有连接数限制,这是保障数据库稳定性和性能的重要机制。
2025-07-03 15:20:18
324
原创 基于Redis分布式的限流
/ 时间窗口(秒)// 最大请求数// 限流类型COMMON, // 普通限流IP, // 基于IP限流USER // 基于用户限流。
2025-06-27 16:52:38
520
原创 为啥枚举天生线程安全?
枚举的线程安全并非“天生”,而是由Java的类加载机制、静态属性特性、不可变性设计共同保证的。这种特性使其成为实现线程安全单例和全局状态管理的理想选择,尤其在需要简洁性和可靠性的场景中优势明显。
2025-06-27 16:47:02
397
原创 联合索引定义的顺序是否需要与查询字段顺序必须一致
在使用联合索引时,查询条件中的字段顺序是否需要与索引定义的顺序一致,取决于数据库优化器的能力和具体的查询场景。现代数据库(如 MySQL、PostgreSQL)的优化器通常会。通过合理设计索引和查询语句,可以最大程度发挥联合索引的效能。),即使不满足最左前缀,索引仍可能被用于加速查询。)会按照定义的字段顺序创建索引树。如果查询的字段全部包含在联合索引中(即。,以匹配联合索引的最左前缀。,否则索引可能失效。
2025-06-22 15:19:05
379
原创 浅拷贝与深拷贝String类型会怎么样
在Java里,String类型归属于引用类型。不过,由于String类被设计成不可变类,它在浅拷贝和深拷贝时会展现出特殊的行为。下面为你详细分析:引用类型的变量存放的并非对象本身,而是对象在内存中的地址。就String而言:在这个例子中,和这两个变量指向的是堆中同一个String对象。浅拷贝仅仅复制对象的引用,而不会创建新的对象。对于String来说:从表面看,似乎被修改了,但实际上:深拷贝会创建一个内容相同的新对象。不过对于String:实际上:不可变特性的影响:不管是浅拷贝还是深拷贝,Strin
2025-06-20 10:29:10
333
原创 RabbitMQ常见面试题及解析
RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP)。它允许不同的应用程序之间进行异步通信,通过将消息发送到队列中,让消费者从队列中获取消息并进行处理,从而实现解耦、异步和削峰填谷等功能。
2025-03-16 12:12:23
948
原创 泛型边界的使用
上界extends用于限制泛型类型参数为某个类型或其子类型,常用于获取数据的场景。下界super用于限制泛型类型参数为某个类型或其父类型,常用于添加数据的场景。通过使用泛型边界,可以提高代码的类型安全性和可重用性。
2025-03-03 23:42:36
517
原创 懒加载能够解决Spring循环依赖吗
循环依赖指的是两个或多个 Bean 之间相互依赖,形成一个闭环。例如,Bean A 依赖于 Bean B,而 Bean B 又依赖于 Bean A。在 Spring 中,如果没有合适的处理机制,这种循环依赖会导致 Bean 创建失败。
2025-03-03 23:01:27
620
原创 Spring事务
Spring 事务是 Spring 框架中非常重要的特性之一,它为开发者提供了一种简单而强大的方式来管理数据库操作的一致性和完整性。
2025-03-03 22:55:23
737
原创 Spring Boot的启动流程
Spring Boot 的启动流程是一个复杂且有序的过程:创建SpringApplication实例 — 调用run方法 — 启动完成(发布应用启动事件,配置环境,创建ApplicationContext,准备ApplicationContext,刷新ApplicationContext[【创建BeanFactory,加载Bean定义,创建Bean实例,启动嵌入式服务器】,发布应用就绪事件) — 异常处理;下面将详细拆解其各个阶段。
2025-03-03 22:53:47
1153
原创 Spring生命周期都有哪些阶段
描述:可以通过在 Bean 定义中指定自定义的初始化方法,Spring 容器会在 Bean 的属性注入完成后调用该方法。示例(Java 配置)System . out . println("MyBean 自定义初始化方法调用");} }System . out . println("MyBean 自定义初始化方法调用");} }System . out . println("MyBean 自定义初始化方法调用");} }
2025-03-03 22:39:33
958
原创 Spring Bean 作用域设置为prototype在并发场景下是否是线程安全的
在并发场景下,将 Spring Bean 作用域设置为prototype通常能在一定程度上保证线程安全,但这并不意味着绝对的线程安全。
2025-03-03 22:27:28
560
原创 jvm内存模型,类加载机制,GC算法,垃圾回收器,jvm线上调优等常见的面试题及答案
jvm内存模型,类加载机制,GC算法,垃圾回收器,jvm线上调优等常见的面试题及答案
2025-03-02 21:56:00
529
原创 ConcurrentHashMap
是线程安全的,在多线程环境下可以高效地进行并发操作,避免了。在多线程环境下可能出现的数据不一致和线程安全问题。类似,但它在多线程环境下可以保证线程安全。包下的一个类,它继承自。通过上述代码可以看到,
2025-03-01 23:26:11
814
原创 JAVA代理模式
Java中的代理模式主要分为静态代理、动态代理,而动态代理又可细分为JDK动态代理和CGLIB动态代理,下面为你详细介绍这几种代理模式,并结合Java、Spring、MyBatis框架给出示例。
2025-03-01 18:34:56
761
原创 常用的设计模式
责任链模式是一种行为型设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理该请求为止。这种模式将请求的发送者和接收者解耦,使得多个对象都有机会处理请求。模板模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。这样可以在不改变算法结构的情况下,让子类定制某些步骤的具体实现。
2025-03-01 17:55:15
903
原创 Spring框架中的工厂模式
在Spring框架里,工厂模式的运用十分广泛,它主要帮助我们创建和管理对象,让对象的创建和使用分离,提高代码的可维护性和可扩展性。
2025-03-01 17:40:14
486
原创 注解Builder使用注意事项
父类使用Builder注解时,子类不能使用,同时父类还需要添加@AllArgsConstructor和@NoArgsConstructor注解配合使用,否则编译会报:实际参数列表和形式参数列表长度不同。
2024-11-28 10:17:24
178
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人