- 博客(5)
- 问答 (1)
- 收藏
- 关注

原创 《面试无忧》--最详细的springBoot自动配置原理解析
一.序言springBoot已经到2.3的版本,现在大多数的项目都在使用springBoot去构建项目。在日常使用中,大多数的程序猿都会惊叹到“猴赛雷”,都被springBoot的技术折服,今天我就带大家去解开springBoot自动装配的面纱。springBoot的技术栈比较多,比如tomcat的内嵌,dispatcherServlet的注入,springBoot的启动,springBoot的事件广播机制,配置文件加载优先级,项目类别的推断等等,但是自动配置是springBoot的核心思想,本猿认为是
2020-08-02 14:42:41
1139

原创 《面试无忧》--AQS实现原理和源码分析
AQS同步器(AQS:AbstractQueuedSynchronizer)(JUC的核心类):1.AQS主要解决什么问题?多个线程访问共享数据,产生线程不安全的问题,模拟生活重场景,摆地摊(最近比较火),很多人同时购买商品,老板不知道谁付了钱,谁没付钱。我们把商品看作共享数据,每一个顾客就是一个线程,这样的话,老板就乱套了。怎么解决这个问题呢?老板后面设置了二维码支付,让大家进行排队,一个一个的进行排队支付,排在最前面的顾客支付完,后面一个接着付钱。当然在之前,我们都知道用sychronized关
2020-06-15 23:12:16
314

原创 《面试无忧》--DCL单例模式为什么要用volatile修饰?
1.什么是DCL单例模式?DCL(double check locking)是一种双重检查的单例模式,在众多单例模式中,也算得上较优雅实用的一种,他使用两次synchronized代码块将实例化的过程进行加锁,严格保证了多线程的情况下,只实例化一个对象。下面我们看具体的代码:运行结果如下:看似我们输出的结果跟我们的预期结果一样,但是在一个高并发多线程的场景中(暂时不支持模拟),我们可以拿...
2020-04-19 21:01:25
770
4
原创 手写JDK动态代理--面试的杀手锏
1.JDK静态代理 静态代理分为两类:继承和聚合 继承:代理和目标对象是相对的,我们将代理对象当成目标对象,这样形成一个代理链。他的缺点:如果有一个新的需求将 要增加类,将会造成类爆炸;代理链的顺序不好调节,如果要改变代理就得重构对象。 聚合:在代理对象中设置被代理对象,这样在初始化代理对象的时候,将被代理对象设置给代理对象。如果每个代理对象都继承一个接口(也可以不用),就可以在...
2020-03-01 21:36:12
882
原创 java后端内嵌tomcat,启动报错:java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
报错信息:maven依赖:tomcat启动类:
2020-01-19 16:10:23
2579
4
空空如也
使用kong-oidc-keycloak完成认证。
2021-02-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人