国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

JAVA多線程下創(chuàng)建單例的正確方式

2019-11-14 13:09:30
字體:
供稿:網(wǎng)友

一、不注重性能的情況

package singleton;public class SlowSingleton {    PRivate static SlowSingleton instance;    private SlowSingleton() {    };    public static synchronized SlowSingleton getInstance() {        if (instance == null) {            instance = new SlowSingleton();        }        return instance;    }}二、注重性能,急切創(chuàng)建實(shí)例的方案

package singleton;public class FastSingleton {    private static FastSingleton instance = new FastSingleton();    private FastSingleton() {    };    public static FastSingleton getInstance() {        return instance;    }}

這種方法的缺點(diǎn)是:不能延遲實(shí)例化

三、注重性能,double check 方案

package singleton;public class DoubleCheckSingleton {    private volatile static DoubleCheckSingleton instance;    private DoubleCheckSingleton() {    };    public static DoubleCheckSingleton getInstance() {        if (instance == null) {            synchronized (DoubleCheckSingleton.class) {                if (instance == null) {                    instance = new DoubleCheckSingleton();                }            }        }        return instance;    }}四、注重性能,靜態(tài)內(nèi)部類方案
package singleton;public class MagicSingleton {    private static class SingletonHolder {        private static final MagicSingleton INSTANCE = new MagicSingleton();    }    private MagicSingleton() {    }    public static final MagicSingleton getInstance() {        return SingletonHolder.INSTANCE;    }}

五、注重性能,枚舉類方案

package singleton;public enum EnumSingleton {    INSTACE;         public static EnumSingleton getInstance() {        return INSTACE;    }         public void someMethod(){        System.out.println("ooo");    }         // 使用方法    public static void main(String[] args) {        EnumSingleton.INSTACE.someMethod();        // 或者        EnumSingleton.getInstance().someMethod();    }}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新闻| 成安县| 同仁县| 临泽县| 安平县| 荔浦县| 横峰县| 洛浦县| 浦城县| 太湖县| 德庆县| 青川县| 高雄市| 库尔勒市| 大冶市| 浠水县| 临猗县| 麻江县| 齐齐哈尔市| 英吉沙县| 浮山县| 八宿县| 北川| 栖霞市| 吴忠市| 清苑县| 南昌县| 深圳市| 新乡县| 金川县| 两当县| 张掖市| 阿图什市| 温泉县| 定安县| 宁海县| 偃师市| 当涂县| 保定市| 崇明县| 南靖县|