自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot热部署

1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true&lt...

2019-10-31 22:21:04 59

原创 适配器模式

/** * 适配器模式 * 什么是适配器: * 在使用监听器的时候,需要定义一个类事件监听器接口 * 通常接口中有多个方法,程序中不一定都要使用,但又必须重写 * 适配器简化了这些操作,定义监听器时只要继承适配器,然后重写需要的方法即可 * <p> * 适配器原理: * 1.适配器就是个类,空实现了监听器的所有接口 * 2.适配器类需要定义为抽象类,因为创建该类对象...

2019-09-11 17:57:59 60

原创 策略模式

/** * 统一接口 */ public interface Algorithm { boolean test(Employee employee); } /** * 实现类 */ public class FilterSaleTo5000 implements Algorithm { /** * 过滤出工资大于 5000的 * @param...

2019-09-11 15:10:24 65

原创 代理模式

import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * @author jie * @date 2019/9/10 21:24 * 动态代理概述 * 1.代理:本来应该自己做的事情,请了别人来做,被请的人就是代理对象...

2019-09-11 14:25:54 58

原创 模板模式

/** * @author jie * @date 2019/9/10 22:09 * <p> * 模板设计模式 * 模板设计模式就是定义一个算法骨架,将具体的算法延迟到子类实现 * 优点: * 使用模板方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求 * 缺点: * 如果算法骨架修改了的话,则需要修改抽象类 */ public c...

2019-09-11 13:02:25 69

原创 工厂方法模式

将动物共有属性和行为抽象为接口 public interface Animal { /** * 动物共用的特征 * 吃东西 */ void eat(); } 实体类 public class Cat implements Animal { private String name; public String getName() { ...

2019-09-11 12:46:56 47

原创 装饰器模式

import org.junit.Test; /** * 装饰设计模式 * 1.动态的给一个对象添加一些额外的功能,就增加功能来说比生成个子类更灵活 * 2.在不必更改原类文件和使用继承的情况下,动态添加一个对象的功能 * 3.它就是创建一个包装对象,也就是使用装饰来包裹真实对象 * <p> * 适用性: * 1.需要扩展一个类的功能时 * 2.单不能使用子类来实现...

2019-09-09 10:19:23 67

原创 单例模式

/** * 饿汉式 * 线程安全 * 调用效率高 * 不能延迟加载 * 空间换时间 */ class MySingleton { private MySingleton() { } private static MySingleton instance = new MySingleton(); public static MySingleton g...

2019-09-09 10:10:46 76

原创 Java多线程的实现方式

import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; import static java.lang.Thread.sleep; /** * 创建线程3种方式 * 1. 继承Thread类 * 2. 实现Runnable接口,重写run()方法 * 3. 实现Callable接口, ...

2019-09-09 10:06:10 70

空空如也

空空如也

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

TA关注的人

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