• 单例模式


    懒加载,线程不安全 
    1. public class Singleton {
    2. private static Singleton instance;
    3. private Singleton(){}
    4. public static Singleton getInstance(){
    5. if(instance == null){
    6. instance = new Singleton();
    7. }
    8. return instance;
    9. }
    10. }
    懒加载,线程安全,线程方法排序
    1. public class Singleton {
    2. private static Singleton instance;
    3. private Singleton(){}
    4. public static synchronized Singleton getInstance(){
    5. if(instance == null){
    6. instance = new Singleton();
    7. }
    8. return instance;
    9. }
    10. }
    synchronized表示多线程排序执行方法。
    懒加载,线程安全,线程属性传递
    1. public class Singleton {
    2. private volatile static Singleton instance;
    3. private Singleton(){}
    4. public static Singleton getInstance(){
    5. if(instance == null){
    6. instance = new Singleton();
    7. }
    8. return instance;
    9. }
    10. }
    volatile表示变量修改最后的值。
    类加载,线程安全
    1. public class Singleton {
    2. private static Singleton instance = new Singleton();
    3. private Singleton(){}
    4. public static Singleton getInstance(){
    5. return instance;
    6. }
    7. }
    静态内部类加载,线程安全
    1. public class Singleton {
    2. private static class SingletonHolder{
    3. private static final Singleton INSTANCE = new Singleton();
    4. }
    5. private Singleton(){}
    6. public static Singleton getInstance(){
    7. return SingletonHolder.INSTANCE;
    8. }
    9. }
    枚举
    1. public enum Singleton {
    2. INSTANCE;
    3.    private Single(){}
    4. public void whateverMethod(){}
    5. }






  • 相关阅读:
    期望的线性性
    排列组合问题选胡
    ABAP Control Framework(9): Tree
    ABAP Control Framework(8): Toolbar
    ABAP Control Framework(7): Picture
    ABAP Control Framework(6): Calendar
    ABAP Control Framework(5): 不同Control之间Drag & Drop事件
    ABAP Control Framework(4): ALV List
    ABAP Control Framework(3): Text Editer
    ABAP Control Framework(2): HTML Viewer
  • 原文地址:https://www.cnblogs.com/RocketMan/p/6400139.html
Copyright © 2020-2023  润新知