自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring的Bean的生命周期

Spring 中 Bean 的生命周期是一个严谨而有序的过程,每个阶段都为开发者提供了丰富的扩展点,以便根据实际需求定制 Bean 的行为。如果有实现该接口的后置处理器,Spring 会调用后置处理器的postProcessAfterInitialization方法,开发者可以在这个方法中对 Bean 进行进一步的处理,例如添加代理增强等。首先,Spring 会检查 Bean 是否实现了。在完成上述销毁前的准备工作后,Spring 容器会释放 Bean 所占用的资源,Bean 的生命周期正式结束。

2025-03-22 14:44:56 446

原创 Spring 循环依赖深度剖析:三级缓存

Spring 的三级缓存机制是解决循环依赖问题的关键。通过巧妙地利用三个缓存,Spring 能够在创建 Bean 的过程中,提前暴露对象的引用,避免了循环依赖带来的死循环问题。同时,三级缓存还为创建代理对象提供了便利,使得 Spring 框架更加灵活和强大。理解了三级缓存的原理,我们在使用 Spring 进行开发时,就能更好地处理循环依赖问题,避免不必要的错误。

2025-03-22 00:04:36 913

原创 Redis 实现限流方案:应对突发流量的有效防护

一、问题背景在微服务架构中,前端短时间内的突发流量(如秒杀活动、热点事件)可能导致服务集群过载。通过在网关 / 调用者 / 被调用者端实施限流策略,可以精准控制单位时间内的请求量,保障系统稳定性。本文将介绍基于 Redis 的三种限流实现方案。二、限流方案实现。

2025-03-16 23:49:09 355

原创 无重复字符串的最长子串

注:先判断是否存在于HashSet,如果存在需要循环判断并且移动左指针缩小窗口同时移除Set中对应元素。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。,请你找出其中不含有重复字符的 最长。输入: s = “abcabcbb”输入: s = “pwwkew”输入: s = “bbbbb”

2025-03-13 21:10:16 104

原创 深入理解 Redisson 客户端的锁机制:可重入锁、锁重试与看门狗

在分布式系统中,锁机制是保证数据一致性和避免并发冲突的重要手段。Redisson 作为一个强大的 Redis 客户端,提供了丰富且高效的分布式锁实现,其中可重入锁、锁重试和看门狗机制尤为值得关注。

2025-03-04 15:27:30 818

原创 Java 中 try...catch...finally 语句执行顺序深度剖析

finally 块中的代码总是会执行,即使 try 块中有 return 语句。如果 finally 块中有 return 语句,会直接从 finally 块返回,忽略 try 块中保存的返回值。如果 finally 块中没有 return 语句,会返回 try 块中 return 语句保存的结果。

2025-03-01 15:13:52 436

原创 Java的IO流体系

用于从数据源(如文件、网络连接等)读取数据到程序中。在 Java中,所有输入流的基类是InputStream(处理字节)和Reader(处理字符)。:用于将程序中的数据写入到目的地(如文件、网络连接等)。所有输出流的基类是OutputStream(处理字节)和Writer(处理字符)。OutputStream:是字节输出流的抽象基类,常见子类有FileOutputStream(将字节写入文件)、ByteArrayOutputStream(将字节写入字节数组)等。

2025-02-17 17:33:35 606

原创 HashMap的put扩容与扰动机制

HashMap 的 put 方法的使用、扩容机制的触发以及扰动函数的实现。通过这些机制,HashMap 能够高效地存储和查找键值对。HashMap的扩容机制是为了保持负载因子在一定范围内,以提高HashMap的性能和效率。在 Java 8 中,扰动函数的实现是将键的 hashCode() 的。进行处理,使得哈希值更加均匀地分布在哈希表中,从而。)的**75%**时,会进行扩容。,即当键值对数量超过数组容量(高 16 位与低 16 位。扰动函数的作用是对键的。

2025-02-17 16:16:48 548

原创 Java实现反转单链表

在自己尝试用Java实现一个单链表的时候,遇到了一个经典问题:反转单链表【腾讯面试题】在看了原地操作思路之后写了一个空间复杂度O(1),时间复杂度为O(n)的代码。问题大概就是给你一个单链表,然后将其中的节点反转进行返回。最后可以根据链表是否包含哨兵对返回值进行调整。在创建一个新的节点对象来当做新链表的头结点。提前创建新头结点的下一个节点方便进行头插法。并且提前存储节点的下一个节点方便遍历。原地反转,顺序遍历节点;

2023-10-27 23:43:29 33 1

空空如也

空空如也

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

TA关注的人

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