
常见技术点源码剖析及其原理
文章平均质量分 83
一些技术的源码分析
似锦_
王锡豪,code是爱好,有兴趣的可以关注,定不负代码不负卿。java开发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springboot项目启动的源码分析,springboot项目run方法底层原理(超详细,必会)
文章目录springboot项目启动的本质,springboot项目run方法底层原理初始化SpringApplicationRun方法深究springboot项目启动的本质,springboot项目run方法底层原理今天刚做完核酸闲的无聊还是拔一下源码解解乏springboot启动首先执行的就是run方法,直接上源码:——>run——>run初始化SpringApplication发现这里初始化了一个SpringApplication,点进去看一下嘛咱们:重点看下下面两个方原创 2022-04-02 10:14:30 · 2523 阅读 · 0 评论 -
springboot自动装配的原理,springboot项目启动源码分析, @Import解析,@EnableAutoConfiguration解析,手写Starts包
文章目录springboot项目启动的本质springboot自动装配的核心原理**@EnableAutoConfiguration解析:**@AutoConfigurationPackage@Import解析方式一:静态使用方式方式二:动态使用方式被引用类实现了ImportSelector方式二:动态使用方式被引用类实现了ImportBeanDefinitionRegistrarAutoConfigurationImportSelector.class分析getCandidateConfiguration原创 2022-04-03 17:13:17 · 2288 阅读 · 0 评论 -
如何自定义注解,如何使用【注解】
在下面的例子中,我们声明了一个 Sweet 注解,接着在 Peach 类使用了 @Sweet 注解,但是并没有在 RedPeach 类使用该注解。注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以获取到它们。元注解(meta-annotation)本身也是一个注解,用来标记普通注解的存留时间、使用场景、继承属性、文档生成信息。元注解是一个特殊的注解,它是 Java 源码中就自带的注解。注解可以通过Aop去配置注解的行为,让注解简单并作用最大化。原创 2023-02-28 14:12:48 · 383 阅读 · 0 评论 -
什么是循环依赖,spring是如何去解决循环依赖问题的?什么是三级缓存?【spring】
在我们的开发中,会不可避免的遇到Bean之间循环依赖的,所谓循环依赖,就是两个或者两个以上的Bean互相持有对方,这样在程序运行调用中,会出现这种循环依赖的现象,其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。} }这个就是循环依赖。自己依赖自己两个对象相互依赖多个对象相互依赖:用于存放完全初始化好的 bean,从该缓存中取出的 bean 可以直接使用。原创 2023-02-21 15:01:18 · 400 阅读 · 0 评论 -
【多个Realm验证单点登录SSO】shiro多个Realm验证单点登录SSO步骤 Realm重写父类方法 实现多类型登录认证授权
这个简单的demo主要有三个微服务组成:sso为单点登录的请求服务,system_service为管理员登录验证服务,member为会员登录验证服务。大致流程就画个图给大家看AuthenticationService 服务层AuthenticationService 服务层 两个controller同调用这一层AuthenticationService 两个实现类:重写Realm的验证这个类注意别忘了加入Bean容器中自定义Realm自定义Tokenshiro配置Feig.原创 2022-06-04 17:23:56 · 810 阅读 · 0 评论 -
【MVCC多版本并发控制】MVCC 机制的原理及实现,什么是MVCC,多版本并发控制
什么是 MVCCMVCC (Multiversion Concurrency Control) 中文全程叫多版本并发控制,是现代数据库(包括 MySQL、Oracle、PostgreSQL 等)引擎实现中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。如此一来不同的事务在并发过程中,SELECT 操作可以不加锁而是通过 MVCC 机制读取指定的版本历史记录,并通过一些手段保证保证读取的记录值符合事务所处的隔离级别,从而解决并发场景下的读写冲突。先来了解一下什么是版本链:什么是原创 2022-04-19 08:19:18 · 2022 阅读 · 5 评论 -
Spring容器创建过程分析
Spring容器的refresh()[创建刷新],ioc容器就是一些Map;很多的Map里面保存了单实例Bean,环境信息详细的知识和spring的其他原理请看我的博客:https://blog.csdn.net/wang121213145/article/details/1239534861.prepareRefresh()刷新前的预处理;initPropertySources();初始化一些属性设置;子类自定义个性化的属性设置方法;getEnvironment().validateRequi原创 2022-05-13 11:46:57 · 205 阅读 · 0 评论 -
Mysq事务的特性以及ACID的实现原理
Mysql的三层架构:因为MyISAM是支持事务的,所以事务使用innodb引擎。事务的四个特性:原子性、一致性、隔离性、持久性。接下来我们一个一个来看:原子性是指一个事务是一个不可分割的单位,是一个最小的操作单元,那么这些操作呢?要么全部成功,要么全不成功。如果事务中一个SQL语句执行失败了,那么已经执行的SQL语句需要进行回滚,回滚到执行之前的状态。它的实现原理主要是基于UNdolog。它是一个日志。innodb引擎提供了两种事务的日志,一个是redolog,一个是undolog这个undol原创 2022-04-17 13:18:29 · 323 阅读 · 0 评论 -
Spring注解驱动开发,spring底层实现,AOP 动态代理,AOP原理,声明式事务,事务原理,扩展原理,Spring容器创建过程,Web以及SpringMVC异步请求
文章目录组件注册AnnotationConfigApplicationContext@Scope 作用域@Lazy Bean懒加载@Conditional组件注入@Import配置类ImportBeanDefinitionRegistrar实现类ImportSelector实现类FactoryBean生命周期指定初始化和销毁方法:通过让Bean实现InitializingBean(定义初始化逻辑)、DisposableBean(定义销毁逻辑)JSR250BeanPostProcessor接口---后置处理原创 2022-04-10 13:40:24 · 335 阅读 · 0 评论 -
TCP的三次握手与四次挥手理解(很全面)
序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。确认ACK:占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,.原创 2022-04-01 08:31:46 · 2108 阅读 · 0 评论