自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql学习记录

初级部分安装---计算机上的服务需要启动什么是存储引擎?数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。MySQL 的核心就是存储引擎。提示:InnoDB 事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。...

2019-08-14 15:31:00 92

原创 长用工具类 介绍 httpclient

httpclient官网依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version></d...

2019-06-20 11:28:07 181

原创 java基础学习(吐血借鉴)

红黑树:红黑树是一种自平衡的二叉查找树,是一种高效的查找树。比如 Java 中的 TreeMap,JDK 1.8 中的 HashMap。红黑树通过如下的性质定义实现自平衡:1节点是红色或黑色。2根是黑色。3每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]4每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色...

2019-04-12 10:54:41 170

原创 java版算法研究~~~

数据结构:包括线性结构和非线性结构线性结构:一、概念线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。线性结构拥有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。线性结构中存在两种操作受限的使用场景,...

2019-04-10 14:05:30 255

原创 精尽java并发

在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的 synchronized,可见性的意思是当一个线程 修改一个共享变量时,另外一个线程能读到这个修改的值。对象头1自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。2偏向锁(Biased Locking):是为了在无锁竞争的情况下避免...

2019-04-04 15:21:22 134

原创 springcloud学习记录

服务搭建springboot 2.1.6对应的springcloud为Greenwich.SR2(G版本)版本不兼容搞死我了启动eureka只需三部1.依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cl...

2019-03-25 16:52:36 109

原创 SpringDataJpa 操作系列

学习springboot肯定要进行和一些其可以操作数据的框架进行整合,所以在进行和spring data JPA整合的时候,首先需要了解springdata 和 jpa(简直吐血),了解一些原理,在整合之后使用才能得心应手。知识点:官网链接Spring Data Jpa是spring data 主要的子模块只之一,对于spring data的介绍Spring Data JPA - ...

2019-03-06 21:50:03 319

原创 springboot的学习记录

微服务的介绍源码链接更多整合微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;开始的helloworld:1创建一个maven工程:2添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-b...

2019-03-03 10:28:12 542

原创 线程池四种创建线程方式 和 java并发

四种线程池的创建都是重写了ThreadPoolExecutor()方法:缓存,定长,定时,单例阿里java代码规范不允许使用Executors创建线程池,原因1)FixedThreadPool 和 SingleThreadPool: 允许的请求队列长度为 Integer.MAX_VALUE,可能会堆积大量的请求,从而导致 OOM。2)CachedThreadPool 和 Schedul...

2019-01-07 17:33:30 2921

原创 es 实战练习

准备工作,启动es , 打开postman--》body- row-json增加数据 注意put 方法PUT /megacorp/employee/1{ "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock c...

2019-09-02 14:55:11 422

原创 职责链模式

采购员采购教学器材1) 如果金额 小于等于 5000, 由教学主任审批 (0<=x<=5000)2) 如果金额 小于等于 10000, 由院长审批 (5000<x<=10000)3) 如果金额 小于等于 30000, 由副校长审批 (10000<x<=30000)4) 如果金额 超过 30000 以上,有校长审批 ( 30000<x)1...

2019-08-23 16:07:43 192

原创 策略模式

1) 有各种鸭子(比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等)2) 显示鸭子的信息public abstract class Duck { public Duck() { } public abstract void display();//显示鸭子信息 public void quack() { System.out.println("鸭子...

2019-08-23 15:33:32 183

原创 状态模式

状态模式基本介绍基本介绍1) 状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换2) 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类原理类图1) Context 类为环境角色, 用于维护 State 实例,这个实例定义当前状态(聚合state)2)...

2019-08-23 15:06:08 155

原创 解释器模式

基本介绍1) 在编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法 分析树,最终形成一颗抽象的语法分析树。这里的词法分析器和语法分析器都可以看做是解释器2) 解释器模式(Interpreter Pattern):是指给定一个语言(表达式),定义它的文法的一种表示,并定义一个解释器, 使用该解释器来解释语言中的句子(表达式)3) 应用场景 -应...

2019-08-23 14:22:22 125

原创 备忘录模式

游戏角色有攻击力和防御力,在大战 Boss 前保存自身的状态(攻击力和防御力),当大战 Boss 后攻击力和防御 力下降,从备忘录对象恢复到大战前的状态.传统方案解决游戏角色恢复基本介绍1) 备忘录模式(Memento Pattern)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态2) 可以这里理解备忘...

2019-08-23 11:43:05 92

原创 中介者模式

基本介绍1) 中介者模式(Mediator Pattern),用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互2) 中介者模式属于行为型模式,使代码易于维护3) 比如 MVC 模式,C(Controller 控制器)是 M(Model 模型)和 V(View 视图)的中介者,在前后端交互时起到了中间人的作用...

2019-08-23 11:41:47 78

原创 观察者模式

例子1) 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。2) 需要设计开放型 API,便于其他第三方也能接入气象站获取数据。3) 提供温度、气压和湿度的接口 4) 测量数据更新时,要能实时的通知给第三方观察者模式原理1) 观察者模式类似订牛奶业务2) 奶站/气象局:Subject3) 用户/第三方网站:Obse...

2019-08-23 11:11:40 102

原创 迭代器模式

1) 迭代器模式(Iterator Pattern)是常用的设计模式,属于行为型模式2) 如果我们的集合元素是用不同的方式实现的,有数组,还有 java 的集合类,或者还有其他方式,当客户端要遍 历这些集合元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构,可以考虑使用迭代器模式解决。3) 迭代器模式,提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底...

2019-08-23 10:03:38 189

原创 访问者模式

访问者模式基本介绍1) 访问者模式(Visitor Pattern),封装一些作用于某种数据结构的各元素的操作, 它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。2) 主要将数据结构与数据操作分离,解决 数据结构和操作耦合性问题 3) 访问者模式的基本工作原理是:在被访问的类里面加一个对外提供接待访问者 的接口4) 访问者模式主要应用场景是:需要对一个对象结构中的对象进...

2019-08-22 16:19:03 97

原创 命令模式

基本介绍1) 命令模式(Command Pattern):在软件设计中,我们经常需要 向某些对象发送请求,但是并不知道请求的接收者是谁,也不知 道被请求的操作是哪个, 我们只需在程序运行时指定具体的请求接收者即可,此时,可以 使用命令模式来进行设计2) 命名模式使得请求发送者与请求接收者消除彼此之间的耦合,让 对象之间的调用关系更加灵活,实现解耦。3) 在命名模式中,会将一个请求封装为一...

2019-08-22 15:38:47 99

原创 模板方法模式

基本介绍1) 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法 实现,但调用将以抽象类中定义的方式进行。2) 简单说,模板方法模式 定义一个操作中的算法的骨架,而将一些步骤延迟到子 类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定 步骤3...

2019-08-22 15:02:53 94

原创 代理模式

代理模式的基本介绍1) 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理 对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的 功能操作,即扩展目标对象的功能。2) 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象3) 代理模式有不同的形式, 主要有三种 静态代理、动态代理 (JDK代理、接口代 理)和 Cglib代理 (可以在内存...

2019-08-22 14:31:26 230

原创 享元模式

问题展示:小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希 望做这样的产品展示网站,但是要求都有些不同:1) 有客户要求以新闻的形式发布2) 有客户人要求以博客的形式发布3) 有客户希望以微信公众号的形式发布传统方案解决网站展现项目1) 直接复制粘贴一份,然后根据客户不同要求,进行定制修改 2) 给每个网站租用一个空间传统方案解决网站展现...

2019-08-22 11:47:22 107

原创 外观模式

1 基本介绍1) 外观模式(Facade),也叫“过程模式:外观模式为子系统中的一组接口提供 一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加 容易使用2) 外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端 只需跟这个接口发生调用,而无需关心这个子系统的内部细节2 模式结构外观模式包含如下两个角色:Facade(外观角色):在客户端可...

2019-08-22 11:00:02 91

原创 组合模式

基本介绍1) 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结 构,将对象组合成树状结构以表示“整体-部分”的层次关系。2) 组合模式依据树形结构来组合对象,用来表示部分以及整体层次。3) 这种类型的设计模式属于结构型模式。4) 组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客 户以一致的方式处理个别对象以及组合对象。...

2019-08-22 10:41:10 70

原创 装饰者模式

1 什么是装饰模式装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。和代理模式很相似,但在对被装饰的对象的控制程度是不同的;装饰者模式是对对象功能的加强,而代理模式是对对象施加控制,并不提供对对象本身功能的加强。通俗点讲,假设现在一杯纯豆浆(Soya)卖1元钱,你可以选择往里边加糖0.5元(Suger),加蜂蜜0.5元(Honey),加牛奶1元(Milk...

2019-08-22 10:13:11 80

原创 桥接模式

基本介绍1) 桥接模式(Bridge模式)是指:将实现与抽象放在两个不同的类层次中,使两个层 次可以独立改变。 2) 是一种结构型设计模式 3) Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同 的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现 (Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能...

2019-08-21 16:49:42 114

原创 适配器模式

适配器其实在我们的生活中是非常常见的,比如说,有的国家的插座都是三孔的,而我们的手机大部分都是两孔的,是没办法直接把充电器插到插座上,这时我们可以使用一个适配器,适配器本身是三孔的,它可以直接插到三孔的插头上,适配器本身可以提供一个两孔的插座,然后我们的手机充电器就可以插到适配器上了,这样我们原本只能插到两孔上的插头就能用三孔的插座了。适配器模式(Adapter Pattern):将一个接...

2019-08-21 16:39:38 99

原创 建造者模式

盖房项目需求1) 需要建房子:这一过程为打桩、砌墙、封顶2) 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是 要求不要相同的.public abstract class AbstractHouse { public abstract void buildBasic(); public abstract void buildWalls(); ...

2019-08-21 15:57:04 222

原创 原型模式

克隆羊问题现在有一只羊tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和tom 羊 属性完全相同的10只羊。传统方法public class Sheep { private String name; private int age; private String color;//setter getter 省略} publ...

2019-08-21 15:10:14 121

原创 工厂模式

简单工厂模式基本介绍1) 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一 个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族 中最简单实用的模式 2) 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行 为(代码) 3) 在软件开发中,当我们会用到大量的创建某种、某类或者某批对象时,就会 使用到工厂模式.//订购---传统的写在...

2019-08-21 14:15:18 60

原创 单例设计模式

设计模式分为三种类型,共23种1) 创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。 2) 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。3) 行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者 模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模 式、策略模式、职责链模式(责任链...

2019-08-21 11:08:31 56

原创 设计模式相关基础知识

1 设计模式的目的1) 代码重用性 (即:相同功能的代码,不用多次编写) 2) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解)3) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护) 4) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响) 5) 使程序呈现高内聚,低耦合的特性*********设计模式常用的七大原则有:*********...

2019-08-14 17:41:11 166

原创 springbatch 和 quartz 处理job框架

一款轻量的、全面的批处理框架,用于开发强大的日常运营的企业级批处理应用程序。在大型企业中,由于业务复杂、数据量大、数据格式不同、数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理。而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理。这样的过程就是“批处理”。典型的批处理流程是读数据、处理数据、写数据的三步式架构——从数据库、文件或队列中读取大量数据,然后通过业务规则处理数据...

2019-06-13 17:49:48 6133

原创 分布式文件系统

xshell下载--所有下载----选择家庭/学校免费文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。多...

2019-06-11 14:36:46 87

原创 java 特性

Lambda 表达式语法函数式接口:接口中只有一个抽象方法的接口,称为函数式接口。 可以使用注解 @FunctionalInterface 修饰,用来定义必须是此接口必需是函数式接口Java8中引入了一个新的操作符 "->" 该操作符称为箭头操作符或 Lambda 操作符,箭头操作符将 Lambda 表达式拆分成两部分:左侧:Lambda 表达式的参数列表,右侧:Lambda 表...

2019-06-04 18:00:32 93

原创 oracle study

工具安装乐观锁apply- -ok1 oracle 数据库创建用户create user xc identified by xc123; 2 然后分配表空间(存放oracle 数据的地方--没有表空间,就无法存放数据) create tablespace xc_tablespace //表空间名 datafile 'E:\app\oracleuser\product\12...

2019-06-03 18:01:51 89

原创 全栈--工具

敏捷开发极限编程gitlab--创建组--创建项目--初始化项目---本地创建文件夹---clone到本地--然后idea 的open三大工具idea --git--maven(系统一下)json(依赖) <dependency> <groupId>com.alibaba</groupId>...

2019-05-12 20:33:31 240

原创 前台页面的一些操作

BootStrap可视化编辑thymeleaf版本url传参<a th:href="@{/sub/succ/(a=1,b='jk',c=${session.user.name})}">超链接到欢迎页</a>model.addAttribute("aa","https://www.baidu.com/");<a th:href="@{${aa}}"...

2019-05-03 16:01:28 585

原创 第三方支付和mq学习

先看个例子:系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)解耦 -异步 -并行-最终一致为什么使用rocketmq1.面向分布式2.集群支付成功后,把支付后的结果通知给了mq,这个时候已经和支付系统没有关系了,剩下的就是交易系统的事情了,解决了耦合的问题。消息去重,服务者重复发送同样的消息,消费者进行幂等操作---最多只能重试几次消息失败,...

2019-04-28 10:33:57 453

空空如也

空空如也

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

TA关注的人

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