朝花夕誓
Redission源码 Redission源码
一、加锁入口public boolean tryLock(long waitTime, long leaseTime, TimeUnit unit) throws InterruptedException { //将等待时间转化为毫
2024-08-29
线程池源码 线程池源码
参考美团技术分享:https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html 一、线程池基本使用1、三种线程池//线程池只有单个线程,不管获取几次线程,都
2023-08-29
原理篇-Nacos 原理篇-Nacos
https://www.processon.com/view/link/60f7e7d3e0b34d16fa90a72f https://juejin.cn/post/6991367312230088717 一、Nacos架构二、服务发现模
2023-05-19
Spring源码(10)-事务 Spring源码(10)-事务
一、事务管理1、核心接口 Spring事务管理高层抽象主要有3个: PlatformTransactionManager:事务管理器(用来管理事务,包含事务的提交,回滚) TransactionDefinition:事务定义信息(隔离,
2023-04-21
Spring源码(9)-FactoryBean Spring源码(9)-FactoryBean
一、介绍一般情况下,Spring通过反射机制利用<bean>的class属性指定实现类实例化Bean,在某些情况下,实例化Bean过程比较复杂,如果按照传统的方式,则需要在<bean>中提供大量的配置信息。配置方式的
2023-02-01
MyBatis源码(5)-缓存机制 MyBatis源码(5)-缓存机制
一、MyBatis 缓存简介①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap
2022-12-08
MyBatisPlus(1)-注入SqlSession MyBatisPlus(1)-注入SqlSession
一、前言 SpringBoot 结合 MyBatisPlus 是如何注入 SqlSession 的? SqlSession 如何实现在相同请求是相同对象,不同请求中是不同对象? 二、注入的 SqlSession@Autowired pri
2022-12-08
MyBatis源码(4)-插件机制 MyBatis源码(4)-插件机制
一、介绍一般开源框架都会提供扩展点,让开发者自行扩展,从而完成逻辑的增强。 通过Mybatis插件可以实现对框架的扩展,来实现自定义功能,并且对于用户是无感知的。 基于插件机制可以实现了很多有用的功能,比如说分页,字段加密,监控等功能,这种
2022-12-06
MyBatis源码(3)-代理机制 MyBatis源码(3)-代理机制
为什么 MyBatis 只有接口确能实现操作数据库功能? 一、生成代理对象如果是 spring boot 项目,在项目启动时就会调用 getMapper 方法获取代理类,并注入到容器中 1、入口:DefaultSqlSession#getM
2022-11-16
MyBatis源码(2)-sqlSession MyBatis源码(2)-sqlSession
一、MyBatis架构及主要组件1、基本架构 mybatis架构四层作用 Api接口层:提供API 增加、删除、修改、查询等接口,通过API接口对数据库进行操作。 数据处理层:主要负责SQL的 查询、解析、执行以及结果映射的处理,主要
2022-11-01
MyBatis源码(1)-手写持久层 MyBatis源码(1)-手写持久层
一、JDBC1、介绍JDBC 是 SUM 公司提供的一套 Java 连接各种数据库的规范(接口),各大数据库产商通过该规范开发自己的数据库驱动。 JDBC中定义了操作数据库的各种接口和类型: 接口 作用 Driver 驱动接口,
2022-10-27
Spring源码(8)-AOP Spring源码(8)-AOP
一、AspectJ spectJ是Java的一个AOP框架,可以单独使用,也可以整合到其它框架中。 AspectJ是Eclipse旗下的一个项目。至于它和Spring AOP的关系,不妨可将Spring AOP看成是Spring这个庞大的集
2022-10-19
1 / 3