自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC 工作原理五(返回值处理器)

在一文中,我们分析了 Spring MVC 如何将请求中的参数解析为调用目标方法的参数,然后利用反射调用目标方法获得返回值;那么在目前普遍为前后端分类的开发场景中,Spring MVC 是如何将标注了 @ResponseBody或 @RestController 注解的方法返回数据格式转换为 JSON 格式的,这是本文将分析的。

2025-05-18 03:03:53 1119

原创 SpringMVC 工作原理四(自定义参数解析器)

实现简易的参数解析器将分页信息封装为 PageVO 对象通过 WebMvcConfigurer 将解析器添加到 Spring MVC 的解析器列表中@Override。

2025-05-15 21:44:14 335

原创 SpringMVC 工作原理三(参数解析器)

在文中,我们获得了能够处理 handler 类型为 HandlerMethod 的 适配器,接下来我们需要了解该适配器是如何将请求中的路径参数、params、body等解析为我们需要的参数格式。

2025-05-15 00:51:26 1145

原创 SpringMVC 工作原理二(处理器适配器 HandlerAdapter)

为的实现类之一,主要是用来处理handler类型为的抽象类,其子类实现了具体的内部方法来处理 handler。

2025-05-12 16:23:16 987

原创 SpringMVC 工作原理一(处理器映射器 HandlerMapping)

实现getHandler方法,调用子类实现的方法获取handler后,将handler 和 HandlerInterceptor封装成返回。@Override@Nullable// 根据子类重写的 getHandlerInternal 方法获取handlerif (!// 将 handler 和 HandlerInterceptor 封装成 HandlerExecutionChain= null) {= null?if (config!= null) {

2025-05-10 17:47:20 768

原创 Spring Boot 自动装配原理

传统 Spring 需要大量 XML 或 Java 配置,而 Spring Boot 自动装配通过约定优于配置(Convention over Configuration)原则,避免了重复性代码;通过 spring-boot-starter-*依赖,自动引入相关库的默认配置。例如,添加 spring-boot-starter-web即可快速构建 Web 应用;开发者可以专注于业务逻辑,而非环境搭建,显著缩短项目初始化时间。极大简化了 Spring 应用的开发流程。

2025-05-07 14:03:46 847

原创 DFS(深度优先搜索,Depth-First Search)+ 回溯 + 剪枝

DFS(深度优先搜索,Depth-First Search)是一种用于遍历或搜索树或图的算法。其核心思想是从起始节点开始,沿着一条路径尽可能深入地探索,直到无法继续为止,然后回溯并探索其他路径。

2025-03-24 00:29:43 966

原创 HashMap源码详解

HashMap 作为我们日常开发中最常用的数据结构之一,实现于哈希表的 Map 接口,存储(K,V)键值对,且允许 null 键和 null 值,K 值唯一,V 值不唯一;内部由实现,平均时间复杂度:插入、删除、查找操作均为,当所有键哈希冲突,退化为链表或红黑树,时间复杂度为;其中有许多用来提高性能的精妙设计,下面我们来一起学习一下。

2025-03-16 03:31:05 807

原创 一文搞懂Java线程池 ThreadPoolExecutor (源码详解)

来自AI的总结:使用 ThreadPoolExecutor的好处包括:通过线程复用降低创建和销毁线程的开销,控制并发线程数量防止资源耗尽,提高任务响应速度,统一管理任务执行,支持灵活的任务队列和拒绝策略,增强系统稳定性,简化多线程编程,并适应多种任务场景,从而提升性能、资源利用率和开发效率。

2025-03-03 00:13:02 1616

原创 AbstractQueuedSynchronizer 源码详解(非公平)

在AQS代码中有非常多的unsafe类的操作,其中的提供原子性的内存操作,是实现无锁数据结构(如 AtomicInteger)的基础。// 此处代码使用静态代码块的方式将 共享变量 state,队列头节点 head,// 尾节点 tail,节点状态 waitStatus,以及 next 指针// 的内存地址偏移量 赋值给了这5个静态变量,方便后面进行CAS操作。

2025-02-23 23:23:06 699 1

空空如也

空空如也

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

TA关注的人

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