**
静态工厂方法
**
与构造方法:
不同:
1、静态。。可以使用方法名称提高所生成对象特征的详细描述
2、可以反回本类型及其子类型的对象,而构造。。只能返回本类型对象
3、静态。。可以隐藏复杂的逻辑到方法中,而对功能单一的构造方法进行屏蔽
静态方法最直观的特点就是:
1、of关键字的引用,以及将狗造访啊进行分装,在本类中,定义一个of方法,
2、将构造方法隐藏在开辟了一个of方法之后,对其进行重写,将常用的属性进行默认处理。,以更加方便调用。
常用的静态方法有:value.of();
**
构建模式
简单来说就是:对构造方法的改写,以类名为类型,直接.出来的方法。
**
单例模式
在jvm中只可能生成某个类的单独实例对象,则这个类就是单例模式,
以下单例的实现,被称为“饿汉单例模式
”因为在加载字节码后,无论程序是否真的会使用此单例对象,他都会被实例化完成。
如果使用到则没有问题,如果从未使用到,则会造成一定的系统资源浪费。
延迟加载的单例模式
以下单例的实现,被称为“懒汉单例模式”
同步单例模式
是“懒汉单例模式”的改进,
使用synchronize把静态工厂方法声明为同步的,
串行的,类似单线程,性能低下
synchronize关键字是同步时使用的
被他修饰的代码块,在一个时间点上,只允许一条线程进入,线程执行完毕后其他线程才可使用被他修饰的代码块
每次只能有一条线程使用此代码,造成系统性能的急剧下降
厉害了:变聪明人了。
双重同步 双重锁
最简单最容易实现的枚举
是单例的扩展,是可控的实例变量是多利。