码迷,mamicode.com
首页 > 其他好文 > 详细

关于单例(饿汉式与懒汉式)

时间:2017-11-27 20:05:15      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:构造   ima   private   turn   方法   author   技术   test   isp   

饿汉式单例:

技术分享图片
 1 package com.mon11.day27.single;
 2 /** 
 3 * 类说明 :
 4 * @author 作者 :chenyanlong
 5 * @version 创建时间:2017年11月27日 
 6 */
 7 public class SingleTon {
 8     // 饿汉式 线程全
 9     private static SingleTon singleTon=new SingleTon();
10     /*1.构造方法私有化*/
11     private SingleTon(){
12         
13     }
14    /*    返回对象singleTon*/
15     public static SingleTon getSingleTon() {
16         return singleTon;
17     }
18     
19     
20 }
View Code

懒汉式单例:

技术分享图片
 1 package com.mon11.day27.single;
 2 /** 
 3 * 类说明 :
 4 * @author 作者 :chenyanlong
 5 * @version 创建时间:2017年11月27日 
 6 */
 7 public class SingleTonA {
 8     // 饿汉式 线程全
 9     private static SingleTonA singleTon=null;
10     /*1.构造方法私有化*/
11     private SingleTonA(){
12         
13     }
14     
15    /*    返回对象singleTon*/
16     public static synchronized SingleTonA getSingleTon() {
17         if(singleTon==null){
18             //SingleTonA singleTon=new SingleTonA();//测试为空
19             singleTon=new SingleTonA();//测试ok
20         }
21         return singleTon;
22     }
23     
24     
25 }
View Code

测试代码:

技术分享图片
 1 package com.mon11.day27.single;
 2 
 3 import static org.junit.Assert.*;
 4 
 5 import org.junit.Test;
 6 
 7 /** 
 8 * 类说明 :
 9 * @author 作者 :chenyanlong
10 * @version 创建时间:2017年11月27日 
11 */
12 public class TestDemo {
13 
14     //饿
15     @Test
16     public void test() {
17         SingleTon  singleTon=SingleTon.getSingleTon();
18         SingleTon  singleTon1=SingleTon.getSingleTon();
19         SingleTon  singleTon2=SingleTon.getSingleTon();
20         System.out.println(singleTon);
21         System.out.println(singleTon1);
22         System.out.println(singleTon2);
23     }
24     
25     @Test
26     public void test1() {
27         SingleTonA  singleTon=SingleTonA.getSingleTon();
28         SingleTonA  singleTon1=SingleTonA.getSingleTon();
29         SingleTonA  singleTon2=SingleTonA.getSingleTon();
30         System.out.println(singleTon);
31         System.out.println(singleTon1);
32         System.out.println(singleTon2);
33     }
34 
35 }
View Code

运行效果1:

技术分享图片

运行效果2:
技术分享图片

关于单例(饿汉式与懒汉式)

标签:构造   ima   private   turn   方法   author   技术   test   isp   

原文地址:http://www.cnblogs.com/chenyanlong/p/7905588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!