设计模式&源码
文章平均质量分 78
本专栏为程序员内修篇
和道一文字yyds
背后的伤痕,是剑士的耻辱!
展开
-
SpringMvc源码分析-请求流程(一)
1.实现了Controller接口的Bean对象:这是Spring MVC最初的设计,每个请求对应一个Controller对象,每个Controller只处理一个单一的动作或者请求。3.添加了@RequestMapping注解的方法:只需要在任意一个Bean的方法上添加@RequestMapping注解,Spring MVC就会自动将这个方法映射到一个URL,然后当这个URL被请求时,Spring MVC会调用这个方法来处理请求。视图解析器进行解析,得到具体的视图对象,并进行视图渲染,最后响应给用户。原创 2023-10-13 10:41:38 · 415 阅读 · 0 评论 -
spring源码笔记
Spring源码spring运行流程 ,最大的特点就是可扩展性创建BeanDefinition对象BeanDefinition接口:把配置文件定义的属性,分装成BeanDefinition对象并且填充占位符,不会自动去填充properties的值,放入到Container容器中。(利用loadBeanDefinitions(beanFactory),方法填充beandefinitionMap,和beandefinitionNames)。@Overridepublic void refres原创 2022-03-31 15:49:05 · 560 阅读 · 0 评论 -
2022年最热门九大框架源码深层解析教程全集《一》
HashMap 1.7、ConcurrentHashMap和Mysql源码部分HashMap 1.71、为什么HashMap要用数组加链表来实现?算出的下标值冲突,一个位置要去表示多个元素,所以用到了链表。2、Hashlap 的put方法的大致实现流程? 判断是不是空数组->空则初始化数组->读取key的值是否为空->不为空则为其生成hashCode->利indexFor方法的与操作算出key的数组下标->for语句循环Map对原创 2022-04-06 19:05:34 · 1345 阅读 · 0 评论 -
java8新特性
JAVA8新特性前言哈希Map的新改动java8hash表的默认大小为16,当向表中添加一个对象时先会调用对象的hashCode方法,根据哈希算法对hashCode方法进行运算,得出数组的索引值。然后根据数组的索引值找到表的对应值比较key,当前位置空则进行直接填充,当key相等时则进行向上覆盖value的操作,如果key不相等则在数组的对应位置进行头插法生成链表(哈希冲突),加载因子0.75,拆链表扩数组大小。-----Hash数组加链表=>1.7碰撞发生的个数大于8时,总容量大于64时原创 2022-03-31 15:33:16 · 139 阅读 · 0 评论 -
设计模式之禅-二《上卷》
建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:Separate the construction of a complex object from its representation so that the sameconstruction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。)● Product产品类。原创 2022-09-26 11:24:50 · 208 阅读 · 0 评论 -
设计模式之禅《一》 大旗不挥,谁敢冲锋 ——6大设计原则
设计模式之禅《一》大旗不挥,谁敢冲锋 ——6大设计原则《一》 六大原则一:单一职责原则1、单一职责原则最难划分的就是职责2、有两个可以变化的原因放到了一个接口中,这就为以后的变化带来了风险。3、对于单一职责原则,我的建议是接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。禅:不同对象对同一个接口进行调用时,如果其中的某个方法产生不同的实现就应该把他抽离出来形成以自己为中心的新的职责。创建自己的接口时职责一定要清晰清晰!,单一,不要让别人猜测这个方法可能是用来处理什么逻辑的。二:原创 2022-04-02 17:51:52 · 482 阅读 · 0 评论