
读读源码
文章平均质量分 71
第七人格
写有价值的博客,分享有意义的生活ヾ(◍°∇°◍)ノ゙
展开
-
【Spring源码解析】一文读懂Spring注入模型:开发者必备知识
首先我们要明确,注入模型和注入Bean的方式不能混为一谈。从Spring的官网我们可以知道,Spring注入bean的方式有两种,一种是通过构造方法进行注入,另外一种是通过setter方法进行注入。说简单一点就是注入Bean的方式是一种注入bean的策略,而注入模型是Bean的一种属性(其实是BeanDefinition的属性),他会影响bean的一些行为。原创 2023-09-13 17:46:22 · 201 阅读 · 0 评论 -
【源码】LinkedList源码学习笔记
楔子上一次,小七和大家一起学习了ArrayList源码,今天再和大家一起分享下LinkedList的源码。基本数据结构LinkedList顾名思义,linked链表,他也就是基于链表实现的,而且是双向链表。所以他具有双向链表的优缺点。缺点不太适合在随机的位置,获取某个随机的位置的元素,比如LinkedList.get(10),这种操作,性能就很低,因为他需要遍历这个链表,从头开始遍历这个链表,直到找到index = 10的这个元素为止。优点非常适合各种元素频繁的插入里面去,因为不断的把新的节点原创 2022-03-13 08:46:37 · 420 阅读 · 0 评论 -
【源码】ArrayList源码学习笔记
目录楔子一、基本数据结构1、缺点2、优点二、核心方法的原理0、基础构造方法1、add方法源码2、set方法源码3、get方法源码4、remove方法源码楔子对于Java开发者来说,不管是初级、中级,还是高级,一定都曾经被问道Java集合包里的东西,而ArrayList作为集合包中重要的一员,出现的频率也非常高,今天小七就从源码的角度,重新分析学习下ArrayList。一、基本数据结构ArrayList顾名思义,array就是数组的意思。在java中的数组,都是定长数组,所以ArrayList会有定长原创 2022-03-12 17:19:20 · 1047 阅读 · 0 评论 -
【源码】HashMap源码学习笔记
目录楔子基本数据结构核心成员变量解析hash算法从put看JDK优化后的hash算法hash寻址算法hash冲突hash冲突时的链表处理hash冲突时的红黑树优化扩容与rehash算法楔子HashMap作为Java集合里重要的一环,不仅在生产中有着超高频率的使用,在面试中更是被经常问起,所以学习Hash的源码对Java开发人员来说是很有必要的。基本数据结构JDK 1.8以后,hashmap的数据结构是,数组 + 链表 + 红黑树。核心成员变量解析/** * The default init原创 2022-03-03 10:50:46 · 722 阅读 · 5 评论 -
ShenYu网关数据同步源码分析
目录admin数据同步从SelectorController讲起发布事件ConfigGroupEnumDataEventTypeEnumDataChangedEventDispatcher配置解析gateway数据同步ShenyuWebsocketClientWebsocketDataHandlerAbstractDataHandlerCommonPluginDataSubscriberBaseDataCache配置解析验证猜想增量数据同步全量数据同步总结当在后台管理系统中,数据发生了更新后,如何将更新的原创 2022-02-08 11:50:47 · 1209 阅读 · 0 评论 -
【从源码级别理解让人抓狂的@Transactional注解】
@Transactional入门原创 2022-01-27 15:22:11 · 1213 阅读 · 4 评论 -
【观察者模式】如何更加了解你的女朋友们
楔子小七的朋友跟小七倾述,说他女朋友们希望他能像肚子里的蛔虫一样了解她的一举一动。小七微微一笑,这还不简单,弄个发布订阅(观察者)不就行了︿( ̄︶ ̄)︿!被观察者首先将小七朋友的女朋友抽象为一个类public class Girlfriend { private String name; public Girlfriend(String name) { this.name = name; } public String getName() {原创 2021-03-06 11:55:43 · 231 阅读 · 0 评论 -
【适配器模式】5分钟帮你搞懂适配器模式
楔子小七最近一直在学习Spring的源码,已经很久没写blog了,想到写作还是不能丢的,所以今天开始重启设计模式的文章,预计2~3个星期总结完。今天来个简单的——适配器模式。概念什么叫适配器模式呢?所谓适配就是把一个东西转换成另一个东西,比如生活中的变压器,把上万伏的电压变为220v,就是一个很好的例子。类适配器模式1、代码实现输入public class Source { public int output(){ int output = 220; S原创 2021-02-25 21:11:57 · 955 阅读 · 4 评论 -
【装饰者模式】重构代码 - 记一次装饰者模式的运用
背景小七的朋友最近有一个烦恼,他想在不改变原有对象的基础上,将功能附加到对象上,问我有没有什么解决方案。小七第一个想到的就是继承和装饰者模式,因为装饰者模式相对继承来说,可以动态的给一个对象添加功能,并且这些功能还可以动态的撤销。思考过程假设我们我们有一个平板,它有描述和成本两个属性:抽象的平板类public abstract class AbstractTablet { /** * 描述 * * @return {@link String} */原创 2020-12-05 14:22:13 · 7978 阅读 · 1 评论 -
源码 -从抖音的错误视频,看看IntegerCache
今天在抖音上看到一条解释 【==】和【equals】区别的视频,没有用基本类型举例,而使用了包装类,可能是想顺势解释一下自动解封装,但是得出的结果却不够严谨,大致示例代码如下:public void test1(){ Integer a = 666; Integer b = 666; if (a == b){ System.out.println(true); }else { System.out.println(false); }原创 2020-11-29 10:38:04 · 9425 阅读 · 4 评论