自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MuskMelon

不积跬步无以至千里!

  • 博客(10)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 如何手写一个LRU算法

背景 在Redis的内存占用过多的时候,此时会进行内存淘汰,比较常用的就是基于LRU算法进行淘汰。那么什么是LRU算法呢? LRU算法概念 LRU 是Least Recently Used的缩写,简称最近最少使用。 也就是说在Redis中内存满了,会优先淘汰那些最近最不常访问的数据。那在Java中用什么数据结构去实现呢?一种的话是基于LinkedHashMap,一种是自己设计数据结构,使用链表...

2019-10-27 01:06:20 3507

原创 Dubbo入门指南

简介 Dubbo是一款高性能、轻量级的开源RPC框架,提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,本章旨在帮助大家快速的搭建Dubbo框架服务,文中示例通过SpringBoot+Zookeeper+Dubbo编写代码 准备 安装Zookeeper zookeeper下载与安装 搭建环境 项目结构 如下图所示,用IDEA创建工程dubbo_hello,并创建三个modul...

2019-10-06 11:45:36 132

原创 (八)装饰者模式

一、概念 动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案 控制对象行为 二、基本内容 适用场景: 扩展一个类的功能或者给一个类添加附加职责 给一个对象动态的添加功能,或动态撤销功能。 优点: 继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能 通过使用不同装饰类以及这些类的排列组合,可以实现不同的效果 符合开闭原则 缺点: ...

2019-10-05 23:41:23 149

原创 (七)适配器模式

文章目录一、概念二、基本内容三、代码示例(1)定义被适配的类(2)定义目标接口(3)定义适配类(4)测试调用(5)对象适配器四、类图五、应用场景 一、概念 将一个类的接口,转化成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间 “对象”适配器:使用组合 “类”适配器:使用继承 将一个接口转化成另一个接口 二、基本内容 Target(目标抽象类):目标抽象类定义客户所需接口,可...

2019-10-05 23:26:59 200

原创 (九)代理模式

文章目录一、概念二、基本内容三、代码示例(1)创建公共接口(2)创建代理对象(3)创建真实对象(4)测试调用四、类图五、应用场景 一、概念 为另一个对象提供一个替身或占位符以控制对这个对象的访问 使用代理模式创建代表对象,让代表对象控制某对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象 控制对象访问 二、基本内容 RealSubject通常是真正做事的对象,pr...

2019-10-05 23:24:09 151

原创 (十五)策略模式

文章目录一、概念二、编写步骤三、案例(1)定义策略接口(2)定义策略实现类(3)定义环境角色(4)测试调用四、类图五、应用场景 一、概念 定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户 简化if-else操作,方便扩展 本质:少用继承,多用组合 二、编写步骤 1、定义抽象策略接口 2、编写具体的策略实现类 3、定义环境角色,持有策略引用 三、案例...

2019-10-05 23:22:09 127

原创 (二十三)模板方法模式

文章目录一、概念二、基本内容三、在父类中增加钩子四、案例(1)定义抽象父类(2) 定义子类(3)测试调用五、类图六、应用场景七、和策略模式比较 一、概念 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤 二、基本内容 1、父类抽象出子类共有的方法,并自己实现他 2、子类实现各自不同的业务 3、父类实现的方法按照一...

2019-10-05 23:20:54 149

原创 (五)抽象工厂模式

一、概念 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类 使用对象组合,对象的创建被实现在工厂接口所暴露出来的方法中 二、特点 抽象工厂定义了一个接口,所有的具体工厂都必须实现此接口,这个接口包含了一组方法来生产产品 抽象工厂模式最大的好处是易于交换产品系列,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易 抽象工厂模式...

2019-10-05 23:13:14 128

原创 (二)原型模式

一、概念 使用原型实例指定将要创建的对象类型,通过复制这个实例创建新的对象 二、用途和优缺点 用途:在对象构建过程比较耗时时,可以利用当前系统中已经存在的对象作为原型,对其进行克隆,躲避初始化过程,使得新对象的创建时间大大减少。 优点 性能良好,Java自带的原型模式是基于内存二进制流的拷贝,比直接new一个对象性能上提升了许多 向客户隐藏制造新实例的复杂性 简化对象创建的过程,提高效率...

2019-10-05 23:11:04 121

原创 (四)工厂方法模式

一、概念 工厂方法模式是对简单工厂模式进一步的解耦。在工厂方法模式中是一个子类对应一个工厂类,而这些工厂类都实现于一个抽象接口 使用继承,把对象的创建委托给子类,子类实现工厂方法来创建对象 二、优缺点 比较简单工厂模式 工厂模式中,要增加产品类时也要相应地增加工厂类,客户端的代码也增加了不少。工厂方法把简单工厂的内部逻辑判断转移到了客户端代码来进行 工厂方法模式克服了简单工厂会违背开-闭原则...

2019-10-05 23:09:35 129

Zookeeper笔记.zip

Zookeeper的笔记知识,从分布式架构到一致性协议说明,Zookeeper的基本用法,Zookeeper典型使用场景,和技术内幕

2020-07-08

idea2018破解文件

idea破解工具文件,适用于2018.3版本,有效期至2100年

2019-04-27

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

TA关注的人

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