`

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设计模式之单例模式详解

    java设计模式之单例模式详解,包含例子,详解。

    JAVA设计模式-chm版

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

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

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

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

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

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

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

    java设计模式详解合集

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

    java 设计模式详解

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

    java模式设计之单例模式

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

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

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

    java单例模式详解

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

    java23中设计模式详解

    Java中的23种设计模式是软件工程中非常重要的概念,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种复杂的软件系统中。这些模式在不同的上下文中提供了可重用的结构和行为,使得代码更加清晰、可维护和扩展...

    《Java设计模式》详解

    内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、...

    JAVA设计模式之单例模式(完整版)[归类].pdf

    **Java设计模式:单例模式详解** 单例模式是软件设计中的一种常见模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式在控制资源的共享、提高性能或协调多个组件之间的交互等方面有着广泛的应用。 ##...

    详解JAVA单例模式及多种实现.doc

    Java中的单例模式是一种设计模式,它用于控制类的实例化过程,确保在整个应用程序中,一个类只有一个实例存在。这种模式常用于配置管理、缓存、日志记录、对话框、注册表设置、线程池等场景,以提高性能、减少资源...

    单例模式详解

    单例模式是 Java 设计模式中的一种常见模式,旨在保证整个应用中只有一个类的实例存在。单例模式分为三种:懒汉式单例、饿汉式单例、登记式单例。下面对单例模式的特点、实现方式和应用场景进行详细介绍。 单例模式...

    java24种设计模式详解

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的模板或蓝图。...在"java24种设计模式详解"这个资源中,你会找到每种模式的详细讲解和实例,这将有助于你深入理解并掌握它们。

    3.31单例模式(单例设计模式)详解.docx

    单例模式是一种常用的软件设计模式,其主要目的是确保一个类在整个系统中只能有一个实例。这样做的好处在于节约系统资源,保证数据的一致性,以及避免因多个实例导致的潜在问题。例如,在Windows操作系统中,任务...

    java-design-patterns-master_JAVAdesignpattens_java_design_

    《Java设计模式实战详解》 在Java编程领域,设计模式是一种通用、可重用的解决方案,用于解决在软件设计中常见的问题。这个压缩包“java-design-patterns-master”显然是一个专注于Java设计模式的学习资源,旨在...

Global site tag (gtag.js) - Google Analytics