自定义博客皮肤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

不积跬步无以至千里!

原创 如何手写一个LRU算法

背景 在Redis的内存占用过多的时候,此时会进行内存淘汰,比较常用的就是基于LRU算法进行淘汰。那么什么是LRU算法呢? LRU算法概念 LRU 是Least Recently Used的缩写,简称最近最少使用。 也就是说在Redis中内存满了,会优先淘汰那些最近最不常访问的数据。那在Jav...

2019-10-27 01:06:20

阅读数 12

评论数 0

原创 Dubbo入门指南

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

2019-10-06 11:45:36

阅读数 11

评论数 0

原创 (八)装饰者模式

一、概念 动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案 控制对象行为 二、基本内容 适用场景: 扩展一个类的功能或者给一个类添加附加职责 给一个对象动态的添加功能,或动态撤销功能。 优点: 继承的有力补充,比继承灵...

2019-10-05 23:41:23

阅读数 2

评论数 0

原创 (七)适配器模式

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

2019-10-05 23:26:59

阅读数 2

评论数 0

原创 (九)代理模式

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

2019-10-05 23:24:09

阅读数 2

评论数 0

原创 (十五)策略模式

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

2019-10-05 23:22:09

阅读数 2

评论数 0

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

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

2019-10-05 23:20:54

阅读数 2

评论数 0

原创 (五)抽象工厂模式

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

2019-10-05 23:13:14

阅读数 3

评论数 0

原创 (二)原型模式

一、概念 使用原型实例指定将要创建的对象类型,通过复制这个实例创建新的对象 二、用途和优缺点 用途:在对象构建过程比较耗时时,可以利用当前系统中已经存在的对象作为原型,对其进行克隆,躲避初始化过程,使得新对象的创建时间大大减少。 优点 性能良好,Java自带的原型模式...

2019-10-05 23:11:04

阅读数 3

评论数 0

原创 (四)工厂方法模式

一、概念 工厂方法模式是对简单工厂模式进一步的解耦。在工厂方法模式中是一个子类对应一个工厂类,而这些工厂类都实现于一个抽象接口 使用继承,把对象的创建委托给子类,子类实现工厂方法来创建对象 二、优缺点 比较简单工厂模式 工厂模式中,要增加产品类时也要相应地增加工厂类,客户端的...

2019-10-05 23:09:35

阅读数 3

评论数 0

原创 分布式一致性协议

一致性协议 在分布式系统中,为了保持事务处理的ACID特性,引入一个称为协调者的组件来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点则被称为参与者。协调者负责调度参与者的行为,并最终决定这些参与者是否要把事务正真进行提交。 2PC 二阶段提交,为了使基于分布式系统架构下的所有节点在进行事...

2019-08-07 23:51:51

阅读数 7

评论数 0

转载 数据库索引原理及优化

摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用M...

2019-08-07 23:37:42

阅读数 4

评论数 0

原创 ActiveMQ消息确认机制

背景 在巡更组件中,通过下图所示流程获取门禁,报警器事件来完成巡更任务,流程中有两处使用了ActiveMQ来传输消息,那么消息在传输的过程中ActiveMQ是如何保障消息传输的可靠性,本文将通过介绍ActiveMQ的消息确认机制来进行分析。 消息生命周期 我们先看一下activemq中,一条消息...

2019-08-07 23:36:42

阅读数 12

评论数 0

转载 【转载】Linux简介及最常用命令

【转载】原文连接: https://blog.csdn.net/xulong_08/article/details/81463054 Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以...

2019-08-05 11:21:08

阅读数 6

评论数 0

原创 (三)简单工厂

简介 工厂方式模式简单工厂是用来封装对象的创建,定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类 简单工厂 简单工厂算不上是一个设计模式,更趋向于是一种编程习惯,我们通过创建一个工厂类,来封装对对象的创建。 public class PizzaS...

2019-04-27 20:14:56

阅读数 21

评论数 0

原创 浅谈ThreadPoolTaskExeuctor配置

章节目录概念配置说明总结 概念 配置说明 总结

2019-01-19 21:28:35

阅读数 61

评论数 0

原创 (十九)观察者模式

目录基本简介基本思路 基本简介 定义:在对象之间定义一种一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会接收到通知,并自动更新 基本思路 ...

2019-01-13 22:07:59

阅读数 12

评论数 0

原创 (一)单例模式

定义实现思路实现方式1.饿汉式(静态变量)2.饿汉式(静态代码块)3.懒汉式(非线程安全)4.懒汉式(线程安全,同步方法)5.懒汉式(线程安全,同步代码块)6.双重检查机制7.静态内置类8.枚举 定义 单例模式是设计模式中最简单的一种模式之一,它指的是一个类只有一个实例,而且自行实例化并运用到...

2019-01-09 22:16:17

阅读数 15

评论数 0

原创 设计模式概览

设计模式概览一、设计模式的分类二、设计模式的六大准则三、Java中的23种设计模式 一、设计模式的分类 总的来说设计模式分为3大类 创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、...

2019-01-09 22:10:52

阅读数 41

评论数 0

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