【Java就业培训教程】——单态设计模式
2014-08-10 14:06
148 查看
单态设计模式也叫单例设计模式,解决的问题是保证一个类在内存中只有一个对象实例。
要实现一个类在内存中只有一个对象需要以下三个步骤
1.类的构造函数私有化
2.在类的内部中创建一个该类的对象实例
3.在类的内部中创建一个返回该类对象实例的方法
单例设计模式分为饿汉式和懒汉式两种,下面分别给出现实的代码:
饿汉式
由于在单台设计模式中不能通过new在主函数中创建类的对象,所以获取该类对象的方法getInstance()必须是static类型,才能通过类名.方法的形式进行调用,从而获取该类的唯一一个对象。同时由于在静态方法中只能使用静态成员所以在创建该类对象的时候也需要声明为static类型,即private static SingleDemo single = new SingleDemo()。
饿汉式在类一加载进内存的时候就进行对象创建。
懒汉式
懒汉式在类加载进内存的时候并没有进行对象的创建,只有当调用方法的时候对象才会在堆内存中生成。懒汉式也叫做延时加载。但是懒汉式在被多线程进行并发访问的时候会出现类的对象不唯一的隐患。
要实现一个类在内存中只有一个对象需要以下三个步骤
1.类的构造函数私有化
2.在类的内部中创建一个该类的对象实例
3.在类的内部中创建一个返回该类对象实例的方法
单例设计模式分为饿汉式和懒汉式两种,下面分别给出现实的代码:
饿汉式
class SingleDemo { private static SingleDemo single = new SingleDemo(); private SingleDemo(){} public static SingleDmoe getInstance() { return single; } }
由于在单台设计模式中不能通过new在主函数中创建类的对象,所以获取该类对象的方法getInstance()必须是static类型,才能通过类名.方法的形式进行调用,从而获取该类的唯一一个对象。同时由于在静态方法中只能使用静态成员所以在创建该类对象的时候也需要声明为static类型,即private static SingleDemo single = new SingleDemo()。
饿汉式在类一加载进内存的时候就进行对象创建。
懒汉式
class SingleDemo { private static SingleDemo single = null; private SingleDemo(){} public static SingleDemo() { if(single == null) single = new SingleDemo(); return single; } }
懒汉式在类加载进内存的时候并没有进行对象的创建,只有当调用方法的时候对象才会在堆内存中生成。懒汉式也叫做延时加载。但是懒汉式在被多线程进行并发访问的时候会出现类的对象不唯一的隐患。
相关文章推荐
- 【Java就业培训教程】——垃圾回收机制
- java就业培训教程 笔记
- Java就业培训教程重点部分的笔记
- 【Java就业培训教程】——==和equals和instanceof
- 【Java就业培训教程】——static关键字
- java从0单排之<<java就业培训教程>>复习与面试题回顾——02
- 【Java就业培训教程】--数组
- 【Java就业培训教程】——String类的学习
- 转发 清华大学出版设出版的 张孝祥老师的 Java就业培训教程的一篇文章 经过这几年的生活磨砺 个人认为那个时候的张老师 已经对编程开悟了
- Java就业培训教程
- java从0单排之<<java就业培训教程>>复习与面试题回顾——03
- java从0单排之<<java就业培训教程>>复习与面试题回顾——01
- 【Java就业培训教程】——多态成员特点
- 【Java就业培训教程】——构造函数
- Java内部类(摘自Java就业培训教程)
- 【Java就业培训教程】----内存划分
- java视频培训教程
- java就业前景,成都java培训,传智播客java培训
- 飞秋 包括《java就业培训课程》
- 尚学堂JAVA视频教程(java培训内部视频)