摘要:
目录 《码出高效:Java开发手册》 《重构改善既有代码设计》 《深入理解Java虚拟机(第二版-带目录)》 《从Paxos到Zookeeper 分布式一致性原理与实践》 《Java必须知道的300个问题》 《Java并发编程实战》 《Java开发手册(嵩山版)》 《Java从入门到精通 第三版》 阅读全文
摘要:
最近浏览保存的一些比较详细的思维导图,大家感兴趣可下载阅读。 Java架构师学习路线思维导图 链接:https://www.processon.com/view/link/5eccea8fe0b34d5f263038f0#map Java基础+Java常用技术思维导图 百度网盘下载地址: 链接:ht 阅读全文
摘要:
在拥有大量并发用户的系统中,热key一直以来都是一个不可避免的问题。或许是突然某些商品成了爆款,或许是海量用户突然涌入某个店铺,或许是秒杀时瞬间大量开启的爬虫用户, 这些突发的无法预先感知的热key都是系统潜在的巨大风险。 风险是什么呢?主要是数据层,其次是服务层。 热key对数据层的冲击显而易见, 阅读全文
摘要:
需求背景 春节活动中,多个业务方都有发放优惠券的需求,且对发券的 QPS 量级有明确的需求。所有的优惠券发放、核销、查询都需要一个新系统来承载。因此,我们需要设计、开发一个能够支持十万级 QPS 的券系统,并且对优惠券完整的生命周期进行维护。 需求拆解及技术选型 需求拆解 要配置券,会涉及到券批次( 阅读全文
摘要:
今天我们编写一个简单的demo来分析一下spring中整个bean的生命周期 编写Demo 1. 首先我们定义一个BeanFactoryProcessor的类,目的是为了看出PostProcessBeanFactory接口被调用的时间点 package cn.sue.spring.test.life 阅读全文
摘要:
原理流程图:https://www.processon.com/view/link/63f1d5cc2f69f86c1f96ee9c SpringMVC的作用毋庸置疑,虽然我们现在都是用SpringBoot,但是SpringBoot中仍然是在使用SpringMVC来处理请求。 我们在使用Spring 阅读全文
摘要:
https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x 最核心的就是Spring AOT。 GraalVM文章推荐:https://mp.weixin.qq.com/m 阅读全文
摘要:
@EnableTransactionManagement工作原理 开启Spring事务本质上就是增加了一个Advisor,但我们使用@EnableTransactionManagement注解来开启Spring事务时,该注解代理的功能就是向Spring容器中添加了两个Bean: AutoProxyR 阅读全文
摘要:
ProxyFactory选择cglib或jdk动态代理原理 ProxyFactory在生成代理对象之前需要决定到底是使用JDK动态代理还是CGLIB技术: // config就是ProxyFactory对象 // optimize为true,或proxyTargetClass为true,或用户没有给 阅读全文
摘要:
动态代理 代理模式的解释:为其他对象提供一种代理以控制对这个对象的访问,增强一个类中的某个方法,对程序进行扩展。 比如,现在存在一个UserService类: public class UserService { public void test() { System.out.println("te 阅读全文
摘要:
整合核心思路 由很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容器中,让其成为Bean。 比如Mybatis,Mybatis框架可以单独使用,而单独使用Mybatis框架就需要用到Mybatis所提供的一些类构造出对应的对象,然后使用该对象,就能使用 阅读全文
摘要:
解析配置类 解析配置类流程图:https://www.processon.com/view/link/5f9512d5e401fd06fda0b2dd 解析配置类思维脑图:https://www.processon.com/view/link/614c83cae0b34d7b342f6d14 在启动 阅读全文
摘要:
前言分析 通常,我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。 首先,Spring启动过程主要做了这么几件事情: 构造一个BeanFactory对象 解析配置类,得到BeanDefinition,并注册到BeanFactory中 解析 阅读全文
摘要:
推断构造方法流程图:https://www.processon.com/view/link/5f97bc717d9c0806f291d7eb AutowiredAnnotationBeanPostProcessor中推断构造方法不同情况思维脑图:https://www.processon.com/v 阅读全文
摘要:
什么是循环依赖? 很简单,就是A对象依赖了B对象,B对象依赖了A对象。 比如: // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; } 那么循环依赖是个问题吗? 如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是 阅读全文
摘要:
Spring中到底有几种依赖注入的方式? 首先分两种: 手动注入 自动注入 手动注入 在XML中定义Bean时,就是手动注入,因为是程序员手动给某个属性指定了值。 <bean name="userService" class="com.luban.service.UserService"> <pro 阅读全文
摘要:
Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。 Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的 Bean生命周期 阅读全文