JAVA中单例模式,实现单例模式java

  JAVA中单例模式,实现单例模式java

  单体模式可以说是最常用的设计模式之一。其主要作用是保证一个类只有一个实例,并提供一个全局访问点来访问它,从而严格控制用户的访问方式。

  单例模式分为懒惰模式和饥饿模式。首先说一下饿了么模式:

  饿汉模式

  饥饿模式有点饿,就像一个人饿了很久,所以只要有人给他东西吃,不管好吃不好吃,也不管自己能不能吃,他都会吃。代码如下:

  公共类Singleton {

  私有静态Singleton实例=new Singleton();

  私有Singleton (){}

  公共静态Singleton getInstance() {

  返回实例;

  }

  }意思大家都懂,是静态初始化方法。只要加载了类,对象就会被实例化。优点是线程安全,缺点是提前占用系统资源。这时,懒人模式出现了:

  (推荐视频:java视频教程)

  懒汉模式

  与饥饿型中国模式相比,懒惰型中国模式是指食物到嘴边才能吃,否则饿了也不会说话。代码如下:

  公共类Singleton{

  私有静态单一实例;

  私有Singleton(){}

  公共静态Singleton getInstance() {

  if (instance==null) {

  instance=new Singleton();

  }

  返回实例;

  }

  }但是,当getInstance()方法被多个线程同时调用时,将有可能创建多个实例,所以这个版本的threads是不安全的,所以有以下版本可用:

  公共类Singleton {

  私有静态单一实例;

  私有Singleton (){}

  公共静态Singleton getInstance() {

  if (instance==null) {

  同步(单例。类){

  if (instance==null) {

  instance=new Singleton();

  }

  }

  }

  返回实例;

  }

  }双锁方法是用来保证当instance==null时,多个线程调用getInstance()方法时可以通过第一次判断。

  一般来说,饥饿单例模式可以满足大多数需求。这是singleton模式的基本情况。

  本文来自我们,java教程专栏,欢迎学习!这就是上面代码解释的java单例模式的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: