自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring框架系列之bean的生命周期底层原理08

doCreateBean方法的分析,doCreateBean内容比较多,我们这次主要是把它的整体流程说下,后续会逐个来分析每一个关键点

2022-10-25 14:18:25 219

原创 Spring框架系列之bean的生命周期底层原理07

ClassA依赖ClassB,ClassB依赖ClassA,ClassC也依赖ClassA,我们getBean("classA")来获取ClassA的实例对象,进入到getSingleton这个方法,我们可以看到getSingleton的第二个参数是lambda表达式,进入getSingleton方法

2022-09-28 16:10:46 191

原创 Spring框架系列之bean的生命周期底层原理06

bean的生命周期,咱们必须从AnnotationConfigApplicationContext的getBean方法开始,getBean顾名思义就是从Spring容器中得到一个Bean的实例对象,Spring容器提供了多个getBean方法,原理都差不多,咱们这里分析咱们最常用的,根据bean的名称和类型来得到Bean实例的getBean方法讲

2022-09-26 17:53:23 291

原创 Spring框架系列之bean的生命周期底层原理05

在开始生命周期的底层原理分析之前,有必要先把BeanFactory的整个继承结构讲下。我们先来看看AnnotationConfigApplicationContext的继承结构

2022-09-22 10:03:55 235

原创 Spring框架系列之构造方法BeanDefinition扫描原理04

详细分析doProcessConfigurationClass方法的具体逻辑

2022-09-21 09:39:38 222

原创 Spring框架系列之构造方法BeanDefinition扫描原理03

ConfigurationClassPostProcessor的postProcessBeanDefinitionRegistry方法,这个方法扫描得到所有的BeanDefinition,那具体是怎么扫描得到所有BeanDefinition的呢

2022-09-16 09:27:17 172

原创 Spring框架系列之构造方法BeanDefinition扫描原理02

我们来详细聊聊Spring是如何扫描得到所有需要被管理的Bean信息的

2022-09-15 10:04:05 177

原创 Spring框架系列之构造方法底层剖析01

AnnotationConfigApplicationContext的无参构造方法,也可以使用有参构造方法,我们今天主要是把构造函数的整体流程和主要做了哪些事情描述下

2022-09-13 10:00:11 167

原创 Spring框架整体流程

Spring框架是当今java语言领域使用最多的框架,没有之一。与它整合的其他框架也是多如牛毛。就拿mybatis来举个例子,在使用mybatis时我们只需要写个接口,增加点注解(当然也可以使用xml来配置),就可以在项目中操作数据库了,而且还不需要我们自己去开启和关闭事务,对于这些难道大家就没有疑问,系统是如何做到这点的

2022-09-09 10:04:51 562

原创 java中的Thread,到底是个什么梗?

并发编程,Thread是个绕不开的梗,比如在开发过程中为啥有些地方用sleep,而有些地方又用wait来休眠,调用了sleep或wait后,又用什么方法来唤醒等等,有木有把我们的大脑整的晕头转向?所以笔者经过精心整理,梳理出Thread的核心内容供大家参考

2022-09-08 09:59:50 319

原创 ThreadLocal原理分析

在写web应用的时候,如果用户登录成功了,并且将用户信息存放到了Session中,此时想要在Service层的代码中获取用户信息该怎么办?

2022-09-07 10:18:12 184

原创 聊聊ThreadPoolExecutor线程池

ThreadPoolExecutor是线程的池化技术,也就是首先创建几个线程,然后把线程放到池子里,有任务来的时候直接从线程池中拉线程来执行任务。为什么要用池化技术?java中的线程是系统级别的资源,创建、销毁线程都很消耗CPU的资源,有了池化技术,就可以复用线程,而不是频繁的创建、销毁

2022-09-06 09:56:11 533

原创 HashMap底层原理

HashMap这个集合类经常被用到,可是就是这么一个常用的集合类,却往往成了咱们面试中的绊脚石,即便你是个初级程序员,也常会让你谈谈HashMap的底层原理,今天咱们就来扒一扒这个HashMap的庐山真面目

2022-09-05 10:21:28 327

原创 一文讲透java日志框架

在开发过程中常用的日志框架大概包括:log4j、jul、jcl、slf4j几种,其中log4j和jul是两种具体的日志实现框架,而jcl和slf4j则不是一个具体的实现框架,而只是日志框架的搬运工,他们定义了日志的接口,底层具体使用的是log4j或jul,具体关系可以参考上图所示。朋友们是不是有个疑问,既然有了Log4j和jul这种日志实现框架,那为啥还要有jcl和slf4j两个框架呢

2022-09-02 10:15:39 390

原创 软件设计模式之七大设计原则

何为设计模式呢?其实简单点来说设计模式就是以前那些大佬们写代码总结的一套最佳实践,也就是一种建议,既然是建议,那就没有强制性要求,你可以参考它,也可以不参考,但是结果却大不一样

2022-09-02 10:06:12 135

原创 换个角度看架构师

从职责方面来理解架构师只是一个角度,今天我们从数据类型这个角度来聊聊架构师这个职位,这个维度就是从概念,到逻辑对象,然后到物理持久化的整个过程

2022-09-02 10:03:04 100

原创 架构师装逼核武器

在整个系统的构建过程中,架构师应该要贯穿始终,也就是说从项目正式启动那刻开始架构师便需要介入了,架构师完整的职责应该是从业务架构、应用架构、数据架构、技术架构几个维度全方位进行设计...

2022-09-01 11:48:56 529 1

空空如也

空空如也

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

TA关注的人

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