zoukankan      html  css  js  c++  java
  • 单例模式常见有哪几种?

    package com.zhuyca.singleton;
    
    // 饿汉式
    public class Singleton {
        private static Singleton instance = new Singleton();
        private Singleton() {}
        public static Singleton getInstance() {
            return instance;
        }
    }
    
    // 懒汉式
    class Singleton2 {
        private static Singleton2 instance = null;
        private Singleton2() {}
        public static Singleton2 getInstance() {
            if(instance == null) {
                instance = new Singleton2();
            }
            return instance;
        }
    }
    
    // 懒汉加锁
    class Singleton3 {
        private static Singleton3 instance = null;
        private Singleton3() {}
        public static synchronized Singleton3 getInstance() {
            if(instance == null) {
                instance = new Singleton3();
            }
            return instance;
        }
    }
    
    // 懒汉双检锁
    class Singleton4 {
        private static Singleton4 instance = null;
        private Singleton4() {}
        public static Singleton4 getInstance() {
            if(instance == null) {
                synchronized(Singleton4.class) {
                    if(instance == null) {
                        instance = new Singleton4();
                    }
                }
            }
            return instance;
        }
    }
    
    // 静态内部类实现单例
    class Singleton5 {
        private Singleton5() {}
        public static final Singleton5 getInstance() {
            return SingletonHolder.INSTANCE;
        }
        private static class SingletonHolder {
            private static final Singleton5 INSTANCE = new Singleton5();
        }
    }

    参考链接:http://developer.51cto.com/art/201804/569738.htm

  • 相关阅读:
    eureka流程图
    Feign和Ribbon的重试机制
    idea编译kafka 2.6 源码
    Feign的调用流程
    FeignClientFactoryBean创建动态代理
    Feign源码的入口
    Ribbon的检查服务
    Ribbon是怎么和Eureka整合的?
    Eureka过期
    backup: sqlHelper --cSharp
  • 原文地址:https://www.cnblogs.com/starinbrook/p/9373313.html
Copyright © 2011-2022 走看看