zoukankan      html  css  js  c++  java
  • 黑马程序员——JAVA基础之单列设计模式

    ------- android培训java培训、期待与您交流! ----------

    单列设计模式是面试中的一个常考的点,所谓单例模式就是说对象在内存中只能存在一个。如果有其他变量是该类对象,那么他们指向的是同一对象。

     

    单列设计模式分为两种,常用饿汉式,常考懒汉式。

     

    //单例设计模式之饿汉式,先初始化对象
    class Single
    {
    	private Single(){};//私有构造函数,使函数不能创建对象
    	private static Single s = new Single();//静态只能访问静态
    	
    	public static Single getInstance()//因为不能创建对象,所以只能通过类名调用,所以要静态
    	{
    		return s;
    	}
    }


     

    //这是懒汉式,调用时才创建对象
    class Single
    {
    	private Single(){};//私有构造函数,使外界不能创建对象
    	private static Single s = null;//静态只能访问静态
    	
    	public static Single getIntance()//因为不能创建对象,所以只能通过类名调用,所以要静态
    
    	{
    		if (s == null)
    			s = new Single();
    
    		return s
    	}
    }


     

     因为懒汉式涉及多线程的一个常考点,所以有下例程序:加双重锁,第一重为了提高效率,第二重为了程序的安全性。

     

    //单例设计模式之懒汉式,应用才初始化对象,也叫延时加载
    class Single
    {
    	private Single(){};
    	private static Single s = null;
    	
    	public static Singele getInstance()
    	{
    		if(s==null)
    		{
    			synchronized(Single.class)
    			{
    				if(s==null)
    				{
    					s = new Single();
    				}
    			}
    		}
    		return s;
    	}
    }


     

    ------- android培训java培训、期待与您交流! ----------

     

     

     

     

  • 相关阅读:
    hibernate联合主键 注解方式
    使用Json出现java.lang.NoClassDefFoundError解决方法
    Spring 定时任务2
    Spring 定时任务1
    Javasocket1
    volatile
    Java中byte与16进制字符串的互相转换
    Spring 源码学习
    web服务器工作原理
    SpringMVC国际化
  • 原文地址:https://www.cnblogs.com/runwind/p/4212195.html
Copyright © 2011-2022 走看看