Factory Design
工厂模式有三种:简单工厂模式,工厂方法模式,抽象工厂模式
-
简单工厂:
抽象工厂方法
抽象工厂和简单工厂不同的是,抽象工厂类可以制造多个产品,这些产品往往是有关系的.举例来说,假设武器是我们需要的产品,那么武器是需要枪和子弹,而且这两者是相互配套的,如果我们需要AK47这种武器,那么就需要AK47这把枪和AK47的子弹.工厂类负责配套生产枪和子弹,我们将AK47的抽象工厂类作为参数传递给AK47的产品类,产品类就可以生产得到枪和子弹匹配的武器.
抽象工厂方法和简单工厂的区别是不是,一个传入的是对应产品工厂方法的实例,而后者仅仅是名称(猜测,后续接触再进行验证)
知乎
Youtube
视频对应代码
联想问题0
- 抽象类和接口的区别和联系是什么?
抽象类可以不仅仅包括抽象方法,也可以包括非抽象的方法.
但是接口中的类都必须是完全的抽象的(或者说接口是显式抽象的).在接口中定义的变量类型都必须是final的.这其实也是两者之间最本质的区别.
Singleton 设计模式
Singleton pattern restricts the instantiation of a class and ensures that only one instance of the class exists in the java virtual machine. The singleton class must provide a global access point to get the instance of the class. Singleton pattern is used for logging, drivers objects, caching and thread pool
很全的csdn博客
提炼出的关键问题:什么是懒汉模式,饿汉模式,为什么说饿汉模式是线程安全的,而懒汉模式需要同步机制才能保障线程安全?
如何使用threadLocal实现单例模式的线程安全?
联想问题1
- 什么是私有构造方法?有什么作用
CSDN
不能被其他类实例化,在其他类中只能用工厂方法产生实例. - Thread 中start 和d run 直接启动有什么区别,为什么后者被丢弃?
- JVM类的加载机制
- ThreadLocal使用及理解