自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CoderJu的博客

一个学习、交流、共同进步的程序员博客

原创 tomcat访问本地服务器上的图片

JAVA开发SSM为架构的的系统时,把图片直接存储到tomcat/webapps下的某个文件中后,启动tomcat后,直接通过URL访问报404错误。后来查询相关资料后发现需要做以下配置: 由于使用的idea,所以导致该错误,需要修改下idea的配置即可: 勾选上这个选项后,直接用URL就可以访问...

2019-05-13 23:29:35

阅读数 469

评论数 0

原创 JAVA8新特性之stream(一)

Stream JAVA8新增了一个抽象,称之为流,可以以一种声明的方式来处理数据。一般用来处理集合,我们可以认为是一种高级集合。这个方式是将数据集合看做是一种流,在管道中传输,经过中间各种操作后,最终得到前面处理的结果。 流的特点 只能遍历一次 采用内部迭代的方式(这个需要和传统集合的遍历方式作...

2019-04-10 23:42:40

阅读数 39

评论数 0

原创 JAVA8新特性之默认方法

默认方法 默认方法允许您添加新的功能到现有库的接口中,并能确保与采用旧版本接口编写的代码的二进制兼容性。 JAVA8新增了接口的默认方法,简单的说就是在接口中可以有实现方法,而不仅仅是方法的声明,默认方法的实现也比较简单,只要在方法名字前面加个default关键字就可以了。 增加该特性的原因 在1...

2019-04-10 00:04:25

阅读数 39

评论数 0

原创 JAVA8新特性之函数式接口(四)

JAVA8中的函数式接口如下表: 序号 接口 & 描述 1 BiConsumer<T,U> 代表了一个接受两个输入参数的操作,并且不返回任何结果 2 Bi...

2019-04-07 23:56:13

阅读数 20

评论数 0

原创 JAVA8新特性之函数式接口(三)

LongUnaryOperator: 接受一个参数同为类型long,返回值类型也为long。 public static void main(String[] args) { System.out.println("------LongUnaryOperator------&quo...

2019-04-02 23:42:06

阅读数 27

评论数 0

原创 JAVA8新特性之函数式接口(二)

DoubleSupplier: 代表一个double值结构的提供方 public static void main(String[] args) { System.out.println("------DoubleSupplier------"); ...

2019-04-01 23:08:37

阅读数 42

评论数 0

原创 JAVA8新特性之函数式接口(一)

函数式接口是整个Lambda表达式的根源,也就是说,只有理解了函数式接口才能更好的掌握Lambda表达式。函数式接口就是有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。也就是说他还可以有默认方法和静态方法。默认方法在接口中的定义使用关键词default。一般来说满足一下几点的都是函数接口: ...

2019-03-31 23:53:09

阅读数 26

评论数 0

原创 JAVA8新特性之方法引用

方法引用实际上是lambda表达式的一种特殊形式,也就是说是对已经存在的lambda表达是的简化。方法引用是用来直接访问类或者实例的已经存在的方法或者构造方法,方法引用提供了一种引用而不执行方法的方式,需要由兼容的函数式接口构成的目标类型上下文。计算时,方法引用会创建函数式接口的一个实例。 方法引...

2019-03-27 23:59:51

阅读数 88

评论数 0

原创 JAVA8新特性之Lambda表达式

Lambda(Lambda 是希腊字母 λ 的英文名称)表达式本质上是一个匿名方法.也可以称之为闭包。该方法允许把函数作为一个方法的参数(函数作为参数传递进入方法中)。使用该表达式可以使JAVA代码变得更加简洁。 Lambda表达式的语法 (parameters) -> expression...

2019-03-24 21:28:57

阅读数 20

评论数 0

原创 JAVA23种设计模式总结

目录 一.对象设计的六大原则 二、设计模式的三个分类 三、JAVA2种设计模式源码 一.对象设计的六大原则: 组合复用原则:多用组合,少用继承。找到变化的部分进行抽象封装。区分是Has-A与Is-A 依赖倒置原则:依赖:成员变量、方法参数、返回值,要依赖与抽象,不要依赖...

2019-03-20 23:39:42

阅读数 65

评论数 0

原创 JAVA23种设计模式之模板模式

模板模式: 是类的行为模式, 定义一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法迫使子类实现剩余逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同实现。(其实这种定义生涩难懂了!!!)。 换白话文说就是,系统定义一个抽象类,这个抽象类是用来干...

2019-03-20 00:17:15

阅读数 30

评论数 0

原创 JAVA23种设计模式之适配器模式

1. 适配器模式: 将一个类的接口转换成用户希望的另外一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式就类似一个桥梁的作用,把原本不兼容的接口进行合并成为一个类。 2. 适配器模式的类别: 类适配器模式:通过继承来实现适配器功能。 对象适配器模式:使用类的...

2019-03-19 00:44:54

阅读数 20

评论数 0

原创 JAVA23种设计模式之外观模式

外观模式: 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得子系统更加容易调用。 从外观模式的定义中可以了解到,其实外观模式相当于一个中间人,比如说你要去酒店吃饭,你并不需要知道菜的做法,不需要知道菜的清洗过程,也不需要知道菜的来源。你只需要喊上服务员和他说我要吃什...

2019-03-17 23:39:01

阅读数 34

评论数 0

原创 JAVA23种设计模式之访问者模式

访问者模式 访问者模式是对象的行为模式,访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改,接受这个操作的数据结构则保持不变。换句话说就是把数据结构和需要对该数据结构进行的操作分离处理,当需要对当前数据结构做新的操作时,只需要修改操作部分而不需要修改数据结构的代码。 ...

2019-03-15 23:58:45

阅读数 37

评论数 0

原创 JAVA23种设计模式之原型模式

原型模式 原型模式是对象的创建模式,通过给出一个原型对象来指出所有创建对象的类型,然后用复制这个原型对象的方法创建出更多类型的对象。换句话说,就是将一个原型对象传递给到要做创建动作的对象,那个要进行创建动作的对象通过请求原型对象拷贝自己来实现创建过程。这里需要说明的是,同过克隆或者复制所创建的对象...

2019-03-14 23:56:57

阅读数 47

评论数 0

原创 JAVA23种设计模式之备忘录模式

备忘录模式 备忘录模式又叫做快照模式,是对象的行为模式。备忘录模式中的备忘录对象是一个用来存储另一个对象内部快照的对象。备忘录模式的定义是在不破坏封装的条件下,捕获一个对象的内部状态,并且在该对象外部外保存起来,从而实现可以在适当的时候将这个对象还原到原来存储的状态。就相当于快捷键Ctrl+Z。例...

2019-03-12 23:59:25

阅读数 71

评论数 0

原创 JAVA23种设计模式之中介者模式

1. 中介者模式 中介者模式使用于降低多个对象和类之间的通信复杂度,该模式提供了一个类作为中介者,该类主要处理各个对象之间的通信,使各个对象直接不需要显性的相互引用,从而解耦。这种模式是对象的一种行为模式。换句话说中介者模式就是将对象直接的引用抽取到具体的中介者中 2. 中介者模式示例图 ...

2019-03-12 00:07:56

阅读数 26

评论数 0

原创 JAVA23种设计模式之解释器模式

解释器模式 解释器模式是类的行为模式,给定一个语言,定义他的文法表示,并且定义一个解释器,客户端可以使用这个解释器来解释这个语言中的句子。一般在现实应用中使用的比较少,毕竟相对来说,我们一般不需要自己定义一套自己的语法来解析。其实相对来说,解释器就相当于大脑,把一句话翻译成可以理解的内容。 解释器...

2019-03-10 20:16:43

阅读数 27

评论数 0

原创 Git关联本地项目到git上

目录 在码云或者git上创建本地仓库 复制git或者码云上的地址 在本地项目文件夹下打开git bash 项目集成功 另一种方式关联项目 在码云或者git上创建本地仓库 填写相关信息即可创建。 复制git或者码云上的地址 在本地项目文件夹下打开git bash 在窗...

2019-03-10 15:16:08

阅读数 268

评论数 0

原创 JAVA23种设计模式之享元模式(蝇量模式)

享元模式(蝇量模式) 该模式是对象的结构模式。享元模式主要功能是以共享的方式高效地支持大量的细粒度对象。从而实现这些细粒度对象的复用,这样系统就可以使用少量的比较相似的状态变化小的对象,从而实现对象复用。在这种情况下就要求共享的对象必须是细粒度的对象。享元模式一般分为两类单纯的享元模式和复合的享元...

2019-03-08 23:32:39

阅读数 32

评论数 0

原创 JAVA23种设计模式之责任链模式

责任链模式 是一种对象的行为模式,在责任链模式中,很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上传递,直到链上的某一个对象决定处理该请求为止。换句话说,就是一个请求发送过来,先有A进行判断自己能否处理,如果能够处理就直接处理掉,不能的话就传递给到B,B也做和A同样的操作,直...

2019-03-07 23:17:51

阅读数 58

评论数 0

原创 JAVA23种设计模式之生成器模式

生成器模式 生成器模式是一种对象的创建模式,可以将一个复杂产品的内部表象和产品的生产过程分隔开来,(构建与表示分离)。使得同样的构建过程可以创建不同的表示。 简单的来说,就是讲一个复杂的对象拆分成一个一个小的对象,然后通过排列组合的方式生成不同的复杂对象。举个栗子:例如快餐店的套餐,会有个定价,比...

2019-03-05 23:42:44

阅读数 221

评论数 0

原创 JAVA23种设计模式之桥接模式

桥接模式 将抽象部分与它的实现部分分离,使他们可以独立的变化。如果对象设计存在多个维度,我们就可以把多个维度进行分离,例如,我们需要画出一个带颜色的形状,这里形状有圆形、矩形、正方形等等,颜色就更多,例如红橙黄绿等等,这里我们就可以将形状分离出两个层次:形状和颜色。这就需要使用桥接模式来处理。 桥...

2019-03-04 21:05:40

阅读数 50

评论数 0

原创 JAVA23种设计模式之复合模式

复合模式:设计模式经常会一起使用,通过两个或者多个设计模式组合在一起,共同解决一般性的或者一系列的问题。 复合模式的示例 《MVC 模式》 以MVC为例讲解: Model:是MVC结构的程序主体,包含了业务数据和业务逻辑。 View:与用户交互的界面,显示接收数据,不参与实际的业务...

2019-03-01 22:27:21

阅读数 132

评论数 2

原创 JAVA23种设计模式之组合模式

组合模式 组合模式又叫部分整体模式,适用于把一组相似的对象当做一个单一的对象进行处理,组合模式是以树形结构来表示部分-整体的层次结构。组合模式是用户可以按照相同的方法去处理单个对象和组合对象。 组合式示意图:组合模式在使用上又分为两种,一种是透明组合模式和安全组合模式。类图分别如下: 2.1...

2019-02-28 00:00:47

阅读数 23

评论数 0

原创 JAVA23种设计模式之命令模式

1. 命令模式: 把一个请求或者操作封装到一个对象中。从而允许系统使用不同的请求对客户进行参数化。对请求排队或者记录请求日志,还可以提供命令的撤销和恢复。是一种行为类模式。(说实话,这个定义基本无法让人理解!)。 命令模式是把每个命令进行封装,将命令请求发送者和命令接受者进行解耦。在这个模式中,请...

2019-02-27 00:10:53

阅读数 12

评论数 0

原创 JAVA23种设计模式之代理模式(三)动态代理模式

动态代理 动态代理又叫做JDK代理、接口代理。其和静态代理的区别是不需要实现接口。而是直接利用JDK的API动态的在内存中创建代理对象。 在JDK中生成代理对象的API,存在于java.lang.reflect.Proxy这个包内。JDK实现代理只需要使用 newProxyInstance方法即可...

2019-02-25 23:18:10

阅读数 18

评论数 0

原创 JAVA23种设计模式之代理模式(二)静态代理模式

静态代理模式 静态代理模式就是在代码中已经确定后代理类和被代理类的关系,在运行中不能做任何修改。这种模式要求在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同接口或者继承相同父类。这种代理模式要求代理对象和被代理对象需要共同继承的类或者接。 示例代码:public inter...

2019-02-24 22:46:49

阅读数 23

评论数 0

原创 JAVA23种设计模式之代理模式(一)远程代理RMI

代理模式 代理模式会给某个对象提供一个代理对象,并且有代理对象控制原对象的引用。通俗的说,就是给实际对象找个代理人,由他负责对外的的联系,例如现实社会中的代理律师。由于代理模式相对较多,这里会提出几个使用比较多的代理模式作为示例。 代理模式的实例 2.1. 远程代理模式(RMI) 远程...

2019-02-21 22:16:17

阅读数 77

评论数 0

原创 JAVA23种设计模式之状态模式

状态模式 状态模式允许一个对象在其内部状态发送改变时,改变其行为,看上去就像是改变了他的类一样。 状态模式要求我们把对象的行为放到对象不同的状态中。随着状态的改变对象的行为也随之发生改变。另外重要的一点是,我们研究的对象要持有所有的状态,在状态类中是通过对象来改变其自身的状态的。 状态模...

2019-01-30 22:47:28

阅读数 79

评论数 0

原创 JAVA23种设计模式之组合模式

组合模式 组合模式又叫部分整体模式,适用于把一组相似的对象当做一个单一的对象进行处理,组合模式是以树形结构来表示部分-整体的层次结构。组合模式是用户可以按照相同的方法去处理单个对象和组合对象。 组合式示意图:组合模式在使用上又分为两种,一种是透明组合模式和安全组合模式。类图分别如下: 2...

2019-01-27 23:53:08

阅读数 30

评论数 0

原创 JAVA23种设计模式之迭代器模式

迭代器模式 提供一种方法来顺序访问一个聚合对象中各个元素,而又无需暴露该对象的内部表示。 首先解释下什么叫做聚合对象,就)是可以存储多个成员的元素或者是对象的的类。一般情况下,聚合对象主要是用来存储数据和和遍历书,这样就可以联想到JAVA中的list,数组,HashSet等等。这些确实都是聚合对...

2019-01-23 23:42:38

阅读数 27

评论数 0

原创 JAVA23种设计模式之工厂模式(三)

抽象工厂模式 3.1. 定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 3.2. 抽象工厂类图如下: 从上图可以看出,抽象工厂方法允许有一个最顶层的工厂接口或者抽象工厂类,该类下可以有多个不同的工厂,如factory1,factory2等等。工厂1和2都能生产...

2019-01-21 22:58:01

阅读数 29

评论数 0

原创 JAVA23种设计模式之工厂模式(二)

工厂方法模式: 定义:定义一个用于创建对象的接口,让子类去决定实例化哪一个类,工厂方法是使一个类实例化过程延迟到其子类中。在这种模式下,工厂类不在是实体类,而是一个接口或者抽象类,具体实现则是要到其子类中。这样就可以规避掉简单工厂模式中新增对象是需要修改工厂类的缺点。 工厂方法模式包括以下四个角...

2019-01-16 22:51:47

阅读数 23

评论数 0

原创 JAVA23种设计模式之工厂模式(一)

1. 简单工厂方法模式: 1.1. 定义:又称为静态工厂模式,具体功能为:定义一个工厂类,来根据对应的条件,动态的创建不同的新的对象。这种模式其实就是相当于一个菜单,客户只需要知道菜名,并不需要关心对应的菜的做法以及做的具体过程,而知道知道具体菜名,客户就可以在同一个菜单上点不同的菜,而不用关心其...

2019-01-15 23:36:34

阅读数 41

评论数 0

原创 JAVA23种设计模式之单例模式

单例模式: 单例模式涉及到一个单一的类,在系统运行中,确保这个类只有一个实例。而且这个实例是这个类自己创建的或者实例化的。也就是说这个类提供了一种访问其唯一对象的方式,可直接访问不需要实例化。单例模式是JAVA的23中设计模式中最简单的模式,但是在很多场景下需要使用单例模式。 单例模式的特...

2019-01-13 22:43:37

阅读数 35

评论数 0

原创 JAVA23种设计模式之装饰者模式

装饰者模式: 又名包装模式,顾名思义,就是通过一定的方式,包装一个对象。给他附加上各种不同的属性,但是又不改变被包装对象的结构。通过定义可以看出,装饰者模式其实是子类继承的一种替代方式。 装饰者模式包含的角色: 被装饰对象的抽象角色: 给出一个抽象类或者接口,可以动态的给对象增加属性,规范对...

2019-01-12 21:41:00

阅读数 112

评论数 0

原创 JAVA23种设计模式之观察者模式

观察者模式: 是一种对象的行为模式,又叫做发布订阅模式,相当于现在的订阅微信公众号功能。微信公众号是被观察者,关注公众号的用户是观察者。这些被观察者与观察者之间存在一对多的关系,当被观察者发生变化时,会通知观察者,让他们能知悉。公众号推送消息,所有的关注用户都可以接收到消息,就是这个道理。 ...

2019-01-11 23:16:09

阅读数 34

评论数 0

原创 JAVA23种设计模式之策略模式

策略模式: 定义一系列的算法,并且将每个算法封装起来。让他们可以相互替换。策略模式是对于算法的包装,把算法本身与算法的使用分隔开,使用不同的对象管理。 策略模式示意图: 来源于《菜鸟教程》 策略模式设计到的角色有: 策略角色:即图上的Strategy。对于开发人员...

2019-01-10 14:40:14

阅读数 51

评论数 0

原创 SpringBoot+Swagger2构建 RESTful API文档报org.thymeleaf.exceptions.TemplateInputException的错误

在是使用Swagger2构建RESTful API时,报TemplateInputException错误: org.thymeleaf.exceptions.TemplateInputException: Error resolving template "user/getById/1...

2018-01-21 16:15:01

阅读数 1077

评论数 0

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