java 3种单例模式

1.饿汉式

 1 package singleInstance;
 2 /**饿汉式,类加载时候创建实例,浪费资源,线程是安全的*/
 3 public class SingleDome01 {
 4     //私有构造方法,防止直接new对象
 5     private SingleDome01() {
 6     }
 7     //类加载的时候,创建对象
 8     private static SingleDome01 instance = new SingleDome01();
 9     //提供getter,方便外界访问私有对象
10
11     public static SingleDome01 getInstance() {
12         return instance;
13     }
14 }

2.懒汉式

 1 package singleInstance;
 2 /**懒汉式,被调用时候才会实例化,节约资源,高并发线程时不安全*/
 3 public class SingleDome02 {
 4     //私有构造方法,防止直接new对象
 5     private SingleDome02(){
 6     }
 7     private static SingleDome02 instance;
 8     //提供getter,以便外界调用私有对象,返回SingleDome02对象
 9     public static SingleDome02 getInstance() {
10         if(instance==null){
11             instance = new SingleDome02();
12         }
13         return instance;
14     }
15 }
时间: 2024-10-25 19:32:01

java 3种单例模式的相关文章

java两种单例模式

第一种 1 package com.atguigu.javase; 2 import java.io.IOException; 3 4 /** 5 * @author _aL0n4k 6 * @version 1.0 7 * @time 2015年9月2日 下午6:12:52 8 */ 9 public class Singleton_HungerMode { //单例模式 - 饥饿式 10 private Singleton_HungerMode() {} //把构造器设置为private,这

Java中的五种单例模式实现方法

[代码] Java中的五种单例模式实现方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 package s

【JAVA学习】单例模式的七种写法

尊重版权:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码   public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } retur

Java设计模式之单例模式(七种写法)

Java设计模式之单例模式(七种写法) 第一种,懒汉式,lazy初始化,线程不安全,多线程中无法工作: public class Singleton { private static Singleton instance; private Singleton (){}//私有化构造方法,防止类被实例化 public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } retu

7、java实现的两种单例模式

/* 两种单例模式的演示 */ //饿汉式 class Signal { private Signal(){} private Signal s = new Signal(); public static Signal getInstance() { return s; } } //懒汉式 class Signal { private Signal(){} private Signal s = null; public static Signal getInstance() { if(s ==

(九)JAVA设计模式之单例模式

JAVA设计模式之单例模式 一.单例模式的介绍 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点.     全局对象和Singleton模式有本质的区别,因为大量使用全局对象会使得程序质量降低,而且有些编程语言根本不支持全局变量.最重要的是传统的全局对象并不能阻止一个类被实例化多次. 二.单例模式的特点 单例类只能有一个实例 单例类必须自己创建自己的唯一实例. 单例类必须给所有其他对象提供这一实例.

java设计模式之单例模式随笔

Java模式之单例模式: 凡是看单例模式,都会看到两种经典的结构: 饿汉式 1 public class EagerSingle { 2 private static EagerSingle instance = new EagerSingle(); 3 public static EagerSingle getInstance() { 4 return instance; 5 } 6 } 之所以称为饿汉式,是因为在类被加载的时候,静态变量 instance 会直接被初始化. 2. 懒汉式 1

JAVA中的单例模式(采用单例模式定义的类)(转)

1     单例(Singleton)模式:单例模式确保某一个类只有一个 实例,而且该类只能是自己 实例化自己并向其他类公开 这个实例的对象创建 模式 采用单例模式的类:根据单例模式知道其要满足以下三点 1. 确保某一个类只有一个实例 2. 而且自己实例化 3. 并向其他类提供这个实例类 . 2    确保以上三点的所采用的编程策略     * 把构造方法声明为Private.确保只能由自己创建,避免外部创建实例或者被子类继承从而创造额外实例:    * 定义一个私有静态的该类的实例作为该类的数

java 23 种设计模式

一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 其实还有两类:并发型模式和线程池模式.用一个图片来整体描述一下: 二.设计模式的六大原则 1.开闭原则(Open Clo