最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Java常用的设计模式之一单例设计模式

互联网 admin 2浏览 0评论

Java常用的设计模式之一单例设计模式

1、单例是设计模式,是保证类在程序中只有一个对象产生。

2、常见的单例模式分为:饿汉式和懒汉式

区别:

饿汉式:一加载这个类就创建对象

懒汉式:只有当使用这个类的时候,才会去创建类,但是存在线程安全问题,所以一般在获取对象的方法上,加上synchronized解决。

饿汉式实例:

package com.gxa.single;//饿汉式:类一加载就创建对象
public class Student {//1)构造方法私有化//2)在成员的位置自己创建一个私有的对象//3)提供一个公共的方法访问对象private Student() {}//2)在成员的位置自己创建一个私有对象private static Student s = new Student();//3)提供一个公共的方法访问对象public static Student getStudent() {return s;}
}

懒汉式示例:

package com.gxa.single;//懒汉式:第一次使用的时候才去创建对象;但是会存在线程安全问题
public class Teacher {//1)构造器私有化private Teacher() {}//2)准备了对象的声明,但是没有创建对象private static Teacher teacher = null;//3)准备一个公共的方法获取对象public synchronized static Teacher getTeacher() {//判断是否是第一次调用,如果是第一次调用,// 则创建一个对象,如果不是,则直接获取if (teacher == null) {teacher = new Teacher();}return teacher;}
}

 

 

Java常用的设计模式之一单例设计模式

1、单例是设计模式,是保证类在程序中只有一个对象产生。

2、常见的单例模式分为:饿汉式和懒汉式

区别:

饿汉式:一加载这个类就创建对象

懒汉式:只有当使用这个类的时候,才会去创建类,但是存在线程安全问题,所以一般在获取对象的方法上,加上synchronized解决。

饿汉式实例:

package com.gxa.single;//饿汉式:类一加载就创建对象
public class Student {//1)构造方法私有化//2)在成员的位置自己创建一个私有的对象//3)提供一个公共的方法访问对象private Student() {}//2)在成员的位置自己创建一个私有对象private static Student s = new Student();//3)提供一个公共的方法访问对象public static Student getStudent() {return s;}
}

懒汉式示例:

package com.gxa.single;//懒汉式:第一次使用的时候才去创建对象;但是会存在线程安全问题
public class Teacher {//1)构造器私有化private Teacher() {}//2)准备了对象的声明,但是没有创建对象private static Teacher teacher = null;//3)准备一个公共的方法获取对象public synchronized static Teacher getTeacher() {//判断是否是第一次调用,如果是第一次调用,// 则创建一个对象,如果不是,则直接获取if (teacher == null) {teacher = new Teacher();}return teacher;}
}

 

 

发布评论

评论列表 (0)

  1. 暂无评论