摘要: 抽象工厂模式:算是工厂相关模式的终极形态,如果各位完全理解了上一章的工厂方法模式,那么抽象工厂模式就很好理解了。它与工厂方法唯一的区别就是工厂的接口里是一系列创造抽象产品的方法,而不再是一个,而相应的,抽象产品也不再是一个了,而是一系列相关的产品。这其实是工厂方法模式的一种扩展不是吗? 定义:为创建 阅读全文
posted @ 2019-06-25 11:46 威兰达 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 工厂方式模式: 定义:工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。 核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。从而弥 阅读全文
posted @ 2019-06-25 11:05 威兰达 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 定义:从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特 阅读全文
posted @ 2019-06-25 10:25 威兰达 阅读(461) 评论(0) 推荐(2) 编辑
摘要: 首先代理模式,可以分为两种,一种是静态代理,一种是动态代理。 两种代理从虚拟机加载类的角度来讲,本质上都是一样的,都是在原有类的行为基础上,加入一些多出的行为,甚至完全替换原有的行为。 静态代理采用的方式就是我们手动的将这些行为换进去,然后让编译器帮我们编译,同时也就将字节码在原有类的基础上加入一些 阅读全文
posted @ 2019-06-24 16:51 威兰达 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 设计者模式六大原则: 1.单一原则。描述的意思是每个类都只负责单一的功能,切不可太多业务,导致重复代码,并且一个类应当尽量的把一个功能做到极致。 2. 里氏替换原则:意思是一个子类应该可以替换掉父类并且可以正常工作。通俗的讲师尽量不要重写父类的方法,最好用接口的方式。 3.接口隔离原则:接口最小化原 阅读全文
posted @ 2019-06-24 14:13 威兰达 阅读(1063) 评论(0) 推荐(1) 编辑
摘要: Java泛型中的标记符含义: K - Key(键) V - Value(值) E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类,可做泛型) N - Number(数值类型) ? - 表示任意的java类型 (占位符) Collection<V> 类型形 阅读全文
posted @ 2019-06-19 20:04 威兰达 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 1 Function<T, R>中的T, R表示接口输入、输出的数据类型。 R apply(T t) apply: .例子:func是定义好的Function接口类型的变量,他的输入、输出都是Integer类型,调用calculate方法时,将func作为参数传入,对参数5进行处理。 Functio 阅读全文
posted @ 2019-06-19 11:18 威兰达 阅读(1922) 评论(0) 推荐(0) 编辑
摘要: Lambda表达式,案例一:new Thread(() -> System.out.println("thread")); Lambda表达式,案例二:由参数/箭头和主体组成: 之前的代码形式: Comparator<Apple> byWeight = new Comparator<Apple>() 阅读全文
posted @ 2019-06-17 17:21 威兰达 阅读(694) 评论(0) 推荐(0) 编辑
摘要: Java并发编程包含三个基本概念: 原子性:一(多)个操作要么全部执行要么不执行,中途不会被打断; 可见性:一个线程对某变量的修改对其他线程来说是可见的,即能知道值进行过修改; 有序性:程序执行按照代码的顺序执行; 1.使用synchronized关键字修饰类或者代码块; 2.使用Volatile关 阅读全文
posted @ 2019-06-17 14:40 威兰达 阅读(5182) 评论(0) 推荐(0) 编辑
摘要: SpringBoot启动流程与源码: 启动流程:初始化一个SpringApplication对象、执行该对象的run方法。 也可以这么说:每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序。 阅读全文
posted @ 2019-06-14 16:13 威兰达 阅读(2206) 评论(0) 推荐(2) 编辑