`

java设计模式之---------单例模式详解

阅读更多
public class TestSigleTan{
public  static void main(String [] args){
/**
  for(int i = 0; i <10 ;i ++){
   SigleTan singe = SigleTan.newInstance();
   System.out.println(singe);
  }
  */
  for(int i = 0; i <10 ;i++){
   SigleTan2 sig = SigleTan2.newIstance();
 
   System.out.println(sig);
  }
 
}
}
class SigleTan{
public static SigleTan  sigletan ;
private SigleTan(){
}
public static  SigleTan newInstance(){
              if(sigletan==null){
  sigletan = new SigleTan();
   return sigletan;
  }
  return sigletan;
}
}
class SigleTan2{
public static SigleTan2 sigletan = new SigleTan2();
  private  SigleTan2(){
}
public static SigleTan2 newIstance(){
  return sigletan;
}
}
单例模式第一种的写法:
   class SigleTan{
public static SigleTan  sigletan ;
private SigleTan(){
}
public static  SigleTan newInstance(){
              if(sigletan==null){
  sigletan = new SigleTan();
   return sigletan;
  }
  return sigletan;
}
}

个人的见解:
       java单例模式的第一种写法:
在这一种的写法之中,我们需要把构造的方法私有化,不准外界通过new
方式来 创建一个对象,而是通过在此类中的静态方法来创建一个对象,
缺点:------在newInstance()中通过if()判断的条件来确定的是否来创建一个对象
               这用方式不能保证CUP 每次分配给newInstance()执行的时间片都能一次
  足够,如果在if(sigletan==null)判断之后,时间片执行完毕,有多个线程
正好也来访问SigleTan 类,也正好来访问到if(sigletan==null)之后或者是sigletan= new SigleTan()
之后,无法判断是否为空了,就会在单例 的时候出现错误,
那么就会在内存之中生成多个对象,从而不能实现单例的模式
优点:-------节省资源

单例模式第二种的写法:

class SigleTan2{
public static SigleTan2 sigletan = new SigleTan2();
  private  SigleTan2(){
}
public static SigleTan2 newIstance(){
  return sigletan;
}
}

个人见解:
java单例模式的第二种写法:
     在这一种写法之中,我们仍然要把构造的方法私有化,不准许外界通过new
的方式来创建一个对象,而是通过在此类的静态的方法来创建一个对象
缺点:---------
        该种方法上来就创建一个静态的SigleTan2对象, 然后在同过newIstance()的方法
  来返回这个创建的static  的 对象。这种的方式不能确保创建的资源是否被使用了
如果创建的这个资源没有被使用,就会造成内存资源的浪费。
优点:不会存在并发问题

     
分享到:
评论

相关推荐

    Java设计模式-单例模式详解

    Java设计模式-单例模式详解 单例模式是 Java 设计模式中的一种常用的设计模式,旨在保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的目的是为了保证在一个进程中,某个类有且仅有一个实例。 ...

    java设计模式-单例.pdf

    ### Java设计模式——单例模式详解 #### 一、单例模式概述 单例模式是设计模式中的一个重要组成部分,属于创建型模式之一。其主要作用是确保某个类仅有一个实例存在,并提供一个全局访问该实例的方法。这在很多场景...

    java设计模式之单例模式详解

    Java设计模式之单例模式详解 一、单例模式概览 单例模式(Singleton Pattern)是面向对象设计模式中的一种,属于创建型模式。它确保一个类仅有一个实例,并提供一个全局访问点来访问该实例。单例模式的核心在于控制...

    设计模式-单例设计模式

    ### 设计模式—单例设计模式详解 #### 定义 单例模式是一种常见的创建型设计模式,其核心思想在于确保一个类仅有一个实例存在,并且该实例由该类自行创建,随后向整个系统提供这一唯一实例。 #### 类图解析 在设计...

    单例模式详解~~单例模式详解~~

    单例模式是一种设计模式,它的主要目标是确保一个类只有一个实例,并提供一个全局访问点。在软件工程中,单例模式常用于控制资源的共享,比如数据库连接池、线程池或者日志系统等,这些资源通常需要全局唯一且高效地...

    Java 单例模式.pptx

    单例模式是一种常用的软件设计模式,在这种模式中,一个类只能拥有一个实例,并且该类必须自行创建并提供这个实例。通常,单例模式用于确保某个类在整个应用程序生命周期中只存在一个实例,这有助于节省资源并简化对...

    JAVA设计模式-chm版

    Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...

    设计模式详解-JAVA语言实现

    在Java中,"JAVA设计模式.mobi"这本书可能涵盖了如下设计模式的详细讲解: 1. 单例模式:保证一个类只有一个实例,并提供全局访问点。在Java中,有多种实现单例的方式,包括饿汉式、懒汉式、双重检查锁定(Double-...

    java设计模式的应用

    ### Java设计模式的应用 #### 一、引言 在当今快速发展的软件开发领域,Java作为一门功能强大且灵活的语言,不仅拥有丰富的API资源,还能与强大的数据库系统无缝对接。这使得许多开发人员能够以模块化的形式构建...

    java23种设计模式详解+源码(绝对详解)

    在Java编程中,有23种经典的GoF(Gang of Four)设计模式,它们被分为三大类:创建型、结构型和行为型。本资源集合了这些模式的详细解释与源码分析,旨在帮助开发者深入理解和应用设计模式。 1. 创建型模式...

    Java设计模式-23种设计模式详解

    Java设计模式详解 Java设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 设计模式的六大原则...

    java设计模式详解合集

    Java设计模式详解合集是一份宝贵的资源,包含了丰富的面向对象设计原则和多种设计模式的深入讲解。这份资料旨在帮助开发者提升软件设计能力,遵循良好的编程实践,提高代码的可读性、可维护性和复用性。以下是其中...

    java 设计模式详解

    Java设计模式详解涵盖了在Java编程中广泛使用的一些经典设计模式。这些模式不仅有助于提高代码的可读性、可维护性和可扩展性,还能促进团队之间的沟通与协作。下面,我们将深入探讨几个重要的Java设计模式。 1. ...

    单例模式单例模式单例模式

    单例模式是软件开发中最基本的设计模式之一,尤其在Java编程中应用广泛。它的核心思想是确保一个类仅有一个实例,并提供一个全局访问点来获取该实例。这种模式特别适用于那些只需要一个实例就可以满足系统需求的情况...

    java设计模式pdf

    ### Java设计模式详解 #### 一、背景与概念 在软件工程领域,设计模式是一种用于解决常见问题的可重用解决方案。《Java设计模式PDF》是一本由James W. Cooper编写的经典书籍,该书详细介绍了Java编程语言中的设计...

    JAVA常用设计模式-追美眉技术详解.doc

    以上介绍了Java设计模式中的几种主要类型,包括创建型模式、结构型模式和行为型模式。通过合理运用这些设计模式,开发者不仅能够编写出高质量的代码,还能提高系统的可扩展性和可维护性。当然,在实际开发过程中,...

    java模式设计之单例模式

    单例模式是设计模式中的一种,它的核心思想是限制类的实例化,确保在程序运行过程中,对于某个类,全局只存在一个实例。这种模式常用于资源管理器,如打印服务、数据库连接池等,因为这些资源通常需要全局共享且有序...

    设计模式之单例模式详解.pdf

    设计模式之单例模式详解 单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 单例模式的实现主要是...

    java单例模式详解

    Java单例模式是一种常见的设计模式,它用于控制类的实例化过程,确保一个类在整个应用程序中只有一个实例存在。这种模式通常用于管理共享资源或者需要频繁创建和销毁的对象,以节省系统资源并提供全局访问点。 单例...

Global site tag (gtag.js) - Google Analytics