自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring bean生命周期

spring bean生命周期 阶段1:处理名称,检查缓存 先把别名解析为实际名称,再进行后续处理 若要FactoryBean本身,需要使用&名称获取 singletonObjects是一级缓存,放单例成品对象 singletonFactories是三级缓存,放单例工厂 earlySingletonObjects是二级缓存,放单例工厂的产品,可称为提前单例对象 阶段2:处理父子容器 1.父子容器的bean名称可以重复 2.优先找子容器的bean,找到了直接返回,找不到继续到父容器找 阶段3: de

2022-05-13 17:04:12 169

原创 Spring ApplicationContext refresh的流程

ApplicationContext refresh的流程 12个步骤: 1.prepareRefresh 1.这一步创建和准备了Environment对象 初始化键值信息。 作用之一是为后续@Value,值注入提供。 2.obtainFreshBeanFactory 1.BeanFactory的作用是负责bean的创建、依赖注入和初始化。 2.BeanDefinition作为bean的设计蓝图,规定了bean的特征。 BeanDefinition中的bean信息可以从xml、配置类或扫描获取。 3.pre

2022-05-12 13:23:01 335

原创 finalize的理解

finalize的理解 一般的回答:它是Object中的一个方法,子类重写它,垃圾回收时候方法会被调用,可以再其中进行一些资源的解释和清理工作。 优秀的回答:将资源的释放和清理放在finalize方法中是非常不好的,影响性能,严重时候会引起OOM,从java9开始就被标注为不建议使用。 第一:从表面上看finalize方法的调用次序不能被保证 第二:日志中Finalizer表示输入日志的线程名字,是这个守护线程执行的方法。 第三:如果将finalize中的代码出现异常,根本没有异常输出。 finalize的

2022-05-11 22:09:45 194

原创 DispatcherServlet

DispatcherServlet 初始化 收获💡 DispatcherServlet 是在第一次被访问时执行初始化, 也可以通过配置修改为 Tomcat 启动后就初始化 在初始化时会从 Spring 容器中找一些 Web 需要的组件, 如 HandlerMapping、HandlerAdapter 等,并逐一调用它们的初始化 RequestMappingHandlerMapping 初始化时,会收集所有 @RequestMapping 映射信息,封装为 Map,其中 key 是 RequestMapp

2022-05-11 21:21:01 318

原创 Aspect和Advisor spring的两种切面及代理类创建的时机

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录从 @Aspect 到 Advisor代理创建器代码参考收获💡代理创建时机代码参考收获💡@Before 对应的低级通知代码参考收获💡 从 @Aspect 到 Advisor 代理创建器 代码参考 org.springframework.aop.framework.autoproxy 包 收获💡 AnnotationAwareAspectJAutoProxyCreator 的作用 将高级 @Aspect 切面统一为低级 Adv.

2022-05-11 20:21:46 540 1

空空如也

空空如也

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

TA关注的人

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