单例模式详解

  • L3_618765
    了解作者
  • 2.5KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-07 10:56
    上传日期
NULL 博文链接:https://funine.iteye.com/blog/2426270
单例.zip
  • 单例
  • SinglePatter.java
    1.1KB
  • SinglePatter4.java
    689B
  • SinglePatter3.java
    278B
  • SinglePatter1.java
    269B
  • SinglePatter2.java
    220B
内容介绍
package 单例; /* * 应用场景:在程序中只需要有一个该类的实例对象,例如管理员等。 * 实现思路(基本): * 1、通过私有化构造方法,只允许内部本身创建该类的对象; * 2、在内部加载Static静态对象,控制它只有一个对象; * 3、内部创建共有方法,用来创建,获取该对象。 * * 存在的缺陷: * 在多线程的情况下,多个线程同时方法,这个方法的时候,会出现判断是否存在出错的问题。 * * 解决方法1: * 使用线程锁,使得该方法无法被多个线程同时调用。 * 缺点:性能太差,若经常调用,大大影响程序的性能。 * * 解决方法2: * 在类加载的时候便对其进行实例化。 * 缺点:若该类长时间不用,或是本身就比较大的情况下,会浪费大量的内存资源。 * * 解决方法3: * 使用静态内部类的形式进行加载,当调用get方法时,才会创建,该类的实例。 * 完美的解决了方法2的缺陷。 * * 解决方法4: * 双重校验法,在加载调用那个get方法的时候,在里面额外加一层线程锁。 * 和方法2类似。 * * * */ public class SinglePatter { private static SinglePatter s=null; private SinglePatter(){}; public static SinglePatter getIntance(){ if(s==null){ s = new SinglePatter(); } return s; } }
评论
    相关推荐
    • 单例模式
      NULL 博文链接:https://andydufresneone.iteye.com/blog/1156641
    • 单例模式
      NULL 博文链接:https://songjianyong.iteye.com/blog/1970689
    • 工厂模式与单例模式
      NULL 博文链接:https://zhaohong.iteye.com/blog/483396
    • 单例模式
      NULL 博文链接:https://terryjs.iteye.com/blog/716036
    • 几种单例模式
      NULL 博文链接:https://maozhetao.iteye.com/blog/2319348
    • Singleton 单例模式
      NULL 博文链接:https://walson.iteye.com/blog/392190
    • C#单例模式
      这里给的是C#里面一个单例模式的应用案例,面向对象过程中不可避免的需要用到单例模式,我在博客园中有详细说明单例模式怎么应用的,链接地址:https://www.cnblogs.com/yinxuejunfeng/p/9600633.html
    • 单例模式学习笔记
      NULL 博文链接:https://xiandaoyan.iteye.com/blog/663348
    • 单例模式
      NULL 博文链接:https://ylxy3058.iteye.com/blog/2225863
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档