A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lf027 中级黑马   /  2015-4-16 22:44  /  615 人查看  /  19 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. 饿汉式:
  2. public class Student {
  3. private Student(){
  4.        
  5. }
  6. private static Student s=new Student();
  7. public static Student getStudent(){
  8.         return s;
  9.        
  10. }
  11. public void show(){
  12.         System.out.println("hello");
  13. }
  14. }
  15. 懒汉式:最重要注意的就是程式锁synchronized,其次加了一个if语句,其它的跟饿汉式一样
  16. public class Teacher {
  17. private Teacher(){
  18.        
  19. }
  20. private static Teacher t=null;
  21. public synchronized static Teacher getTeacher(){
  22.         if(t==null){
  23.                 t=new Teacher();
  24.         }
  25.         return t;
  26. }
  27. public void show(){
  28.         System.out.println("world");
  29. }
  30. }
复制代码
关于饿汉式和懒汉式最重的的得注意构造方法的private修饰,还有定义成员变量private加static修饰

19 个回复

倒序浏览
学习学习!
回复 使用道具 举报
老毕说了  饿汉室开发多用
回复 使用道具 举报
学习下哈
回复 使用道具 举报
单例设计模式,来看看!!
回复 使用道具 举报
学习了新知识
回复 使用道具 举报
看的懂~~~~~~~
回复 使用道具 举报
来学习学习
回复 使用道具 举报
感谢楼主分享
回复 使用道具 举报
懒汉式还有种写法:
public class Teacher {

private Teacher(){

}

private static Teacher t=null;

public static Teacher getTeacher(){

        if(t==null){
            synchronized(Teacher.this){
                    if(t == null)
                         t=new Teacher();
             }
        }
        return t;
}
public void show(){
        System.out.println("world");
}
}
回复 使用道具 举报
哈哈,单例设计模式   
回复 使用道具 举报
赞一个~~
回复 使用道具 举报
设计模式,还有哪些啊?
回复 使用道具 举报
方法锁是否更好啊
回复 使用道具 举报
流水王朝 来自手机 中级黑马 2015-8-7 23:18:22
15#
学习学习~
回复 使用道具 举报
赞,学习学习
回复 使用道具 举报
刘意说了,懒汗式面试多用
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
wang949055945 来自手机 中级黑马 2015-8-8 01:02:31
19#
收藏,感觉单例模式再面试的时候会问到
回复 使用道具 举报
这个估计面试真的会问到
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马