排序
美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?
周末的时候,有一位小伙伴提了一些关于 ConcurrentHashMap 的问题,都是他最近面试遇到的。原提问如下: 整个提问看着非常复杂,其实归纳来说就是两个问题: ConcurrentHashMap 为什么 key 和 v...
开源利器推荐:美团动态线程池框架的接入分享及效果展示
前言 蛮早前有些过关于线程池的使用及参数的一些参考配置,有兴趣的可以翻看以前的博文,但终究无法解决线程池的动态监控和实时修改。 以前读过美团早期发布的动态线程池框架的思路相关文章,但...
快手Java一面11问(附参考答案)
现在已经到了面试招聘比较火热的时候,后续会分享一些面试真题供大家复习参考。准备面试的过程中,一定要多看面经,多自测! 今天分享的是一位贵州大学的同学分享的快手一面面经。 快手一面主要...
从头到尾说一次 Spring 事务管理(器)
事务管理,一个被说烂的也被看烂的话题,还是八股文中的基础股之一。 本文会从设计角度,一步步的剖析 Spring 事务管理的设计思路(都会设计事务管理器了,还能玩不转?) 为什么需要事务管理...
Spring HandlerInterceptor工作机制
本文以一个通过正常注册拦截器流程注册拦截器失败的实际场景,来带领大家阅读源码,体会Spring的HandlerInterceptor拦截器整个工作流程 简单认识# org.springframework.web.servlet.HandlerInte...
SpringBoot 自定义注解及 AOP 的开发和使用
在公司项目中,如果需要做一些公共的功能,如日志等,最好的方式是使用自定义注解,自定义注解可以实现我们对想要添加日志的方法上添加,这篇文章基于日志功能来讲讲自定义注解应该如何开发和使...
Spring解决循环依赖的思路
近期在准备找一些新的工作机会,在网上看了一些面试常见问题,看看自己是否能比较好的回答。今天的这个问题:Spring如何解决循环依赖。 看到网上的各种文章的发布时间,这个题目应该是老面试题...
源码学习之Spring容器创建原理 | 京东物流技术团队
1 前言 众所周知,Spring可以帮我们管理我们需要的bean。在我们需要用到这些bean的时候,可以很方便的获取到它,然后进行一系列的操作。比如,我们定义一个bean MyTestBean。 public class MyTe...
Spring 中 @Qualifier 注解还能这么用?
@[toc] 今天想和小伙伴们聊一聊 @Qualifier 注解的完整用法,同时也顺便分析一下它的实现原理。 说到 @Qualifier,有的小伙伴可能会觉得诧异,这也只得写一篇文章?确实,但凡有点开发经验,多...
Spring Boot业务代码中使用@Transactional事务失效踩坑点总结
1.概述 接着之前我们对Spring AOP以及基于AOP实现事务控制的上文,今天我们来看看平时在项目业务开发中使用声明式事务@Transactional的失效场景,并分析其失效原因,从而帮助开发人员尽量避免踩...
SpringMVC流程分析(八):SpringMVC中的异常处理
本系列文章皆在分析SpringMVC的核心组件和工作原理,让你从SpringMVC浩如烟海的代码中跳出来,以一种全局的视角来重新审视SpringMVC的工作原理. 前言 截止到目前, 我们沿着dispatch方法调用链逐...
SpringBoot Banner输出原理解析
前言 在SpringBoot启动时,会在控制台看到一个Spring Banner输出,本文主要讲解一下配置Banner的几种方式,以及最后从源码的角度进行原理分析。 几种Banner的实现方式 默认Banner SpringBoot默...
你的@Autowired被警告了吗
一个警告 近期组里来了新同学,依赖注入的时候习惯使用@Autowired,发现被idea黄色警告,跑过来问大家。由于我平时习惯使用@Resource,没太注意过这个问题,刚好趁着这个机会学习了一波。 首先...
数据库连接池提前初始化引发的异常
背景 我们线上一个项目在发版本时,经常会有部分实例无法正常启动的情况,特别是在没有进行灰度发布的场景下,基本上很难正常的启动成功,异常信息如下: 问题分析 看日志可以很容易看出来,启...
SpringBoot ApplicationListener原理解析
前言 SpringBoot从创建到销毁的完整生命周期过程中,会在不同阶段广播不同的事件,我们若如果想要在某个阶段执行某些逻辑,则需要往SpringBoot中注册监听器,以便SpringBoot在广播事件时触发我...
BeanDefinition解密:构建和管理Spring Beans的基石
本文分享自华为云社区《Spring高手之路11——BeanDefinition解密:构建和管理Spring Beans的基石》,作者: 砖业洋__ 。 BeanDefinition是Spring中一个非常重要的概念,它包含了Spring容器用于创...
SpringMVC流程分析(七): SpringMVC中消息转换的秘密
本系列文章皆在分析SpringMVC的核心组件和工作原理,让你从SpringMVC浩如烟海的代码中跳出来,以一种全局的视角来重新审视SpringMVC的工作原理. 思考,输出,沉淀。用通俗的语言陈述技术,让自...
透过源码,捋清楚循环依赖到底是如何解决的!
@[toc] 以下内容基于 Spring6.0.4。 关于 Spring 循环依赖,松哥已经连着发了三篇文章了,本篇文章松哥从源码的角度来和小伙伴们捋一捋 Spring 循环依赖到底是如何解决了。如果没看过前面的文章...
spring多数据源动态切换的实现原理及读写分离的应用
简介 AbstractRoutingDataSource是Spring框架中的一个抽象类,可以实现多数据源的动态切换和路由,以满足复杂的业务需求和提高系统的性能、可扩展性、灵活性。 应用场景 多租户支持:对于多租户...
spring多数据源动态切换的实现原理及读写分离的应用 | 京东云技术团队
简介 AbstractRoutingDataSource是Spring框架中的一个抽象类,可以实现多数据源的动态切换和路由,以满足复杂的业务需求和提高系统的性能、可扩展性、灵活性。 应用场景 多租户支持:对于多租户...