前言:
假设某人要生产大批量玩具,怎么办呢?肯定第一件事就是建一个玩具厂,然后生产的千千万万个玩具。
同理,Java在生成对象的时候,由于是需要消耗内存和时间的,所以,在保证程序不出bug情况下,
能尽量减少对象实例化就尽量减少。
这样不但可以减少消耗内存,而且提高代码性能。
定义:
所谓单例模式,简单的讲,就是一个类只存在一个实例,最多只new一次。
总体来讲就两点:
(1)构造方法私有化;
(2)由类中方法提供自己的实例对象。
两种方式:
单例模式分为2种,懒汉式和饿汉式,其实两种都差不多。
懒汉式:在类加载的时候该对象就已经创建好了;
饿汉式:在第一次调用的时候才加载;
代码说明:
下面就以玩具厂(Factory)的相关代码进行说明:
懒汉式:
package com.zyq.sjms;
public class Factory {
private static Factory factory = new Factory();
// 构造方法私有化
private Factory() {
}
// 提供一个方法获取该类的实例
public static Factory GetInstance() {
return factory;
}
}
饿汉式:
package com.zyq.sjms;
public class Factory {
private static Factory factory ;
// 构造方法私有化
private Factory() {
}
// 提供一个方法获取该类的实例
public static Factory GetInstance() {
if (factory == null) {
factory = new Factory();
}
return factory;
}
}
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。


