zoukankan      html  css  js  c++  java
  • 单例模式--创建型设计模式

    1.饿汉式

      优点:线程安全

      缺点:立即加载

    2.懒汉式

      优点:懒加载

      缺点:线程不安全(可以用双重锁机制来保证线程安全,但是调用效率低)

    3.内部类型单例模式,前两种基本不用,因为这种包含前两种的优点

      优点:1、线程安全,2、懒加载

    代码如下:

    复制代码
    package sington;
    
    public class InnerSing {
    
        private InnerSing(){
        }
    
        public static InnerSing getIntance(){
            return InnerClass.instance;
        }
    
        private static class InnerClass {
            private static InnerSing instance = new InnerSing();
        }
    }
    复制代码

     4、枚举类

      优点:前三种都没法避免使用反射/序列化(即写入硬盘再读取硬盘创建对象)来创建对象,

          而枚举类可以;(其实可以通过构造器代码写:对象非空判断+抛错可以防止反射创建,而重写readResolve()方法可以防止反系列化构造多一个对象)

      缺点:不是懒加载

    代码如下:

    复制代码
    package sington;
    
    public enum EnumSing {
    
        INTANCE;
    
        public void function(){
            System.out.println("具体执行方法");
        }
        public static EnumSing getIntance(){
            return INTANCE;
        }
    }
    复制代码
    欢迎关注我的公众号:“进阶者euj”
  • 相关阅读:
    Spring Boot笔记一 输出hello
    Java Web之表单重复提交问题
    Java Web之验证码
    Java Web之下载文件
    Java工具之上传文件
    Java Web之上传文件
    Java Web之EL
    Java Bean的规范
    Java Web之JSP
    《FPGA全程进阶---实战演练》第一章之如何学习FPGA
  • 原文地址:https://www.cnblogs.com/yeyongjian/p/8904929.html
Copyright © 2011-2022 走看看