package factory;
/**
* 饿汉式工厂
*
* @ClassName: Factory1.java
* @Description: 不管你用不用,进来后直接就帮你创建对象
* @Author lyf
* @Date 2017年3月10日 上午9:33:37
*
*/
public class Factory1 {
private Factory1() {
}
private static Factory1 factory1 = new Factory1();
public static Factory1 getInstance() {
return factory1;
}
/**
* 饿汉式工厂
*
* @ClassName: Factory1.java
* @Description: 不管你用不用,进来后直接就帮你创建对象
* @Author lyf
* @Date 2017年3月10日 上午9:33:37
*
*/
public class Factory1 {
private Factory1() {
}
private static Factory1 factory1 = new Factory1();
public static Factory1 getInstance() {
return factory1;
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
package factory;
/**
* 懒汉式工厂
*
* @ClassName: Factory2.java
* @Description: 不立即生成,存在线程不安全,所以上同步锁
* @Author lyf
* @Date 2017年3月10日 上午9:35:43
*
*/
public class Factory2 {
private Factory2() {
}
private static Factory2 factory2 = null;
private synchronized static Factory2 getInstance() {
if (factory2 == null) {
factory2 = new Factory2();
}
return factory2;
}
}