自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 策略模式

策略模式 在现实生活中也存在很多策略模式的存在,例如去到目的地A,我们可以乘坐飞机、火车、自驾等等。此外还有实现一个功能有不同的算法,可以是二叉排序、冒泡排序、插入排序等。 一. 存在意义 例如,商场有不同的打折方式,9折、8折等,每一种打折都有自己不同的计算逻辑。 public double calculate(String discountType) { if ("dis9".equals(discountType)) { finalPrice = pric

2021-03-25 16:24:07 120 2

原创 spring 事件处理模型/观察者

spring 事件处理模型/观察者 Spring的事件(Application Event)为Bean与Bean之间的消息通信提供了支持,当一个Bean处理完一个任务之后,希望另外一个Bean知道并且能做及时的处理,这时我们需要让另外一个bean监听当前Bean所发送的事件。个人认为主要优点是降低耦合。Spring事件需要遵循如下流程 自定义事件,继承ApplicationEvent 自定义事件监听器,实现ApplicationListener 使用容器发布事件 消息对列   简单理解就是为系统业

2021-03-17 15:02:38 192

原创 Redis全面讲解

Redis 标签(空格分隔): redis 说起redis(Remote Dictionary Server),大家想到的就是key-value关系型数据库,具有高性能,高可用性,支持多种数据结构等优势。整个数据库的操作都是需要在内存中完成,所以redis每秒可以处理超过 10万次读写操作,此外redis提供了丰富的数据结构。下面将会从一下几个方面系统的介绍redis,希望能带给大家帮助。 redis的数据类型 redis的应用 redis的数据安全和性能保障 高性能、高可用 一. redis的

2021-03-16 19:06:55 361 2

原创 从源码角度了解Spring容器

Spring的相关内容,我将展形成三篇博文从源码层次上介绍,当你读完三篇之后,也许会映入脑子一个词“扩展性”。那么恭喜你,你已经从源码的角度对Spring有所了解。 基本流程 核心类 Spring的可扩展性 bean生命周期 一. Bean创建 bean加载大致经历一下几个流程 获取beanName 合并bean定义,对父类的定义进行合并和覆盖 实例化,使用构造或者工厂方法创建bean实例 属性填充,寻找并且注入依赖,依赖的bean会递归的调用geyBean方法获取 初始化,调用自定义的初始化方

2021-01-14 16:44:21 500 9

原创 彻底明白Java代理

彻底明白Java代理   学习代理,首先要明白为什么会有代理这种设计模式,它的意义是什么?个人认为最主要的原因是:开闭原则. 举一个例子,鸟儿在空中飞翔,需要统计飞翔的时间,有人认为这个很简单,在开始、结尾记录时间,做差即可.但是假如这个方法是某个jar包提供的,不允许我们修改源码? 静态代理(编译期生成代理类) 基于JDK实现动态代理(JDK动态代理由Java内部的反射机制实例化代理对象,代理的调用可以委托给类方法) 基于CGlib动态代理((cglib动态代理底层是借助asm字节码技术)

2021-01-06 20:22:00 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除