又长又细,万字长文带你解读Redisson分布式锁的源码
前言 上一篇文章写了Redis分布式锁的原理和缺陷,觉得有些不过瘾,只是简单的介绍了下Redisson这个框架,具体的原理什么的还没说过呢。趁年前项目忙的差不多了,反正闲着也是闲着,不如把Redisson的源码也学习一遍好了。 虽说是一时兴起,但仔细研究之后发现Redisson的源码解读工作量还是挺 ...
设计模式-工厂方法模式 实战演习 代码实现
设计模式-工厂方法模式 一、工厂方法模式介绍 工厂模式,是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。 工厂模式是 Java 开发中最常见的一种模式,其主要意图是定义一个创建对象的接口,让其子类决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 简单 ...
springcloud vue.js 微服务分布式 flowable 工作流 前后分离 集成代码生成器 shiro权限
1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源3.阿里数据库连 ...
Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架
即时通讯:支持好友,群组,发图片、文件,消息声音提醒,离线消息,保留聊天记录 (即时聊天功能支持手机端,详情下面有截图) 工作流模块 1.模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 3 ...
参考阿里规范,优秀的 Java 项目代码该如何分层?
1.背景 说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方, ...
编译器实现之旅——第三章 实现词法分析器前的准备
在这一章的旅程中,我们将要为整个编译器的“前端中的前端”:词法分析器的实现做好充足的准备。 1. 词法分析器概观 纵观编译器的输入:源代码,我们不难发现,源代码说白了也就是一个很长很长的字符串。而说到字符串,我们不难想到字符串的分割函数。这类分割函数以空格,或任意的什么字符或字符串作为分隔符,将一个 ...
Java截取字符串的方式
我的上一篇随笔记录了HANA数据现库截取字符串的方式,那么,对于Java开发来说,现实的开发里肯定也会遇到截取字符串截取的问题。 Java里截取字符串的方式的有三种。 1.使用java.lang包里的String.split()方法 split()方法里传进来一个正则,用来作为截取的标准。 例子: ...
java 考试系统 在线学习 视频直播 人脸识别 springboot框架 前后分离 PC和手机端
新增功能:培训学习模块, PDF电子课程、视频课程、直播课程(自己搭建直播流服务器) 人脸识别(考试时验证,有开关)、补考开关 题库管理 22. 图片库:创建文件目录,维护图片,供题库选择调用 23. 单选题:维护单选试题,试题题目,选项,答案,类型,级别,状态,解析 24. 多选题:维护多选试题, ...
Command 命令模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 1. 简介 把方法调用封装起来: 通过封装方法调用,可以把运算块封装成形,所以调用此运算对象不需要知道事情是如何进行的。通过封装方法调用,可以实现一些很聪明的事,比如日志记录。 类图 其中提到的一个Command,可能为多个 日志的封装 Ilog ...
Chain of Responsibility 职责链模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 1. 简介 定义 很多对象由每一个对象对其下家的引用而连接起来形成一条链。 请求在这个链上传递,直到链上的某一个对象决定处理此请求。 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织 ...
Flyweight享元模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 1. 简介 定义 使用共享对象可有效地支持大量的细粒度的对象。 解决问题 面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。享元模式正是为解 ...
Facade外观模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 1. 简介 概述 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 比如对同一种类型但不同厂家的设备:摄像头、人脸识别设备、RFID读卡器等 模式中的角色 外观类(Facade):外观类知道哪些 ...
Decorator装饰模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 2.1. 框架中的例子 1. 简介 定义 动态地给一个对象增加一些附属的职责。 装饰装饰,自然的理解就是在原有物品的基础上(不改变原有物品),增加一些别的东西,让它变得更令人满意。 类图 2. 示例 using System; using usi ...
Composite组合模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 3. 适用环境 1. 简介 定义 组合多个对象形成树形结构以表示具有部分-整体关系的层次结构。 组合模式让调用程序可以统一对待单个对象和组合对象 案例 例如文件系统的文件夹和文件结构就是此模式 winform中,空间的基类是Control类型,子 ...
Bridge桥接模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 3. 优缺点 3.1. 优点 3.2. 缺点 3.3. 适用的环境 1. 简介 定义 将抽象部分与它的实现部分解耦,使得两者都能够独立的变化 蜡笔与毛笔 蜡笔有不同的大小和颜色,需要用哪个笔就用哪个笔 毛笔分为不同大小,却只有一个调色盘,里面装着 ...
Adapter适配器模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 3. 说明 1. 简介 概述 将一个类的接口转换成客户希望的另外一个接口。 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 适配器模式中的角色 目标接口(Target):程序调用所期待的接口。目标可以 ...
Prototype原型模式
>>返回《C#常用设计模式》 1. 简介 2. 示例 3. 优缺点 3.1. 优点 3.2. 缺点 3.3. 原型模式的适用环境 1. 简介 定义 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 使用场景 频繁创建“结构复杂的对象” 注意,克隆的对象是全新的对象,而且是独立的 ...
Kubernetes应用场景
Kubernetes应用场景 Kubernetes,简称 K8s,是用 8 代替中间 8 个字符 “ubernete” 而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应 ...