设计模式
岚殿
https://lan-dian.github.io/
展开
-
双重检测的理解与扩展
使用场景 多线程 目的 为了提高效率,因为我们知道synchronized 关键字不可避免的影响了程序执行的效率,而改进的思路之一就是让 synchronized 的作用范围变小,双重监测就是基于这样的一个思路 代码示例 单例模式在多线程情况下的最近解决方案 class Signal{ private Signal() { } private volatile static Signal instance; private static ...原创 2021-08-20 13:50:26 · 188 阅读 · 0 评论 -
Java 构造器方法和set方法设置参数的经验
如果定义了有参构造方法,而没有额外定义无参构造方法,那么对象无法在无参情况下实例化,我们可以这样利用性质:这些参数是一个对象调用方法时必须的 比如对象是一个人,它有属性手,和方法拿东西,因为拿东西必须要有手这个属性,这个属性不能为空,所以设置有参构造方法,而不复写无参构造方法,目的就是要求对象必须实现某些参数 我们换一种思路,我们可以让这样需求的对象有无参构造方法,但是必须重写无参构造方法,该方法必须定义必须参数的默认实现,或者,为了代码简洁和可用性强,我们可以利用重载的特性,实现一些常用的默认属性,所原创 2021-08-19 20:22:05 · 1234 阅读 · 0 评论