原理速读
文章平均质量分 91
SynchroSummon
爱钻研的程序员
展开
-
spring为什么需要三级缓存解决循环依赖
spring为什么需要三级缓存解决循环依赖三级缓分别存缓存了什么为什么需要三级缓存 三级缓分别存缓存了什么 直接说结论 1.【三级】缓存singletonFactories缓存的是已经实例化,但还未进行属性注入的bean。也就是只执行了createBeanInstance后产生的bean。 2.【二级】缓存earlySingletonObjects缓存的是已经实例化,但还未进行属性注入,但是已经在执行populateBean过程中进行依赖解析时,被其他的bean当作属性注入的bean。也就是只执行了crea原创 2021-03-15 23:47:18 · 1356 阅读 · 2 评论 -
AQS的快速理解与实战应用
AQS源码的文章想必大家已经看了很多,但是可能还是似懂非懂,这里讲一下如何快速理解AQS的原理及AQS到底有什么用。 先来点几个前提知识: AQS中有三个原子操作的方法 getState() setState() compareAndSetState() AQS是个abstract抽象类,但是实际却没有任何抽象方法需要实现,当我们尝试重写AQS的方法时候,发现大多数方法是private和fina...原创 2019-11-21 19:25:23 · 592 阅读 · 0 评论 -
Java socket网络编程(一) NIO与BIO
今天来讲讲java BIO与NIO的区别与socket网络编程,因为最近在做与之相关的项目有了不少的心得。 首先我来谈 BIO,BIO就是BlockingIO阻塞IO。什么是阻塞?阻塞就是程序运行到某处代码,不得不暂停等待一段时间,无事可干,等得到了结果才技能继续运行,常见的比如说我们用程序运行Mybatis执行一个查询语句,再获得查询结果之前,我们程序是卡在那里的。这个就是阻塞。有的阻塞是必不可...原创 2019-10-17 22:41:18 · 346 阅读 · 0 评论 -
原理速读之数据库索引
索引是什么东西?学数据都会讲到索引,但是很多人可能和我一样刚开始对索引完全没有具体的概念只知道大概怎么使用。今天就帮大家对索引建立一个基本的具象概念。 要聊到索引,我们首先了解一下数据库的结构。 大家对数据库的数据结构的印象是什么样的?是几张表,每张表里面有很多行很多列组成的一个excel表格一样的东西?不是这样的这个是一些数据库视图工具展示出来的数据库的结构,并不是底层的数据结构,我们要回到底...原创 2019-09-14 15:19:16 · 175 阅读 · 0 评论 -
原理速读之spring,springMVC,mybatis基本原理启示
在说原理之前我们应该讨论的是其他的,就是spring,springMVC,mybatis为我们做了什么,或者说它们有什么用。 spring主要有两个作用,为我们提供了面向切面编程AOP的一种方式和改变了我们以来注入DI的方式。spingMVC简化了servlet开发。mybatis简化了dao开发。其中我们最直观接触的springMVC,mybatis,我们怎样使用springMVC的呢?@Co...原创 2019-09-14 17:18:39 · 237 阅读 · 0 评论