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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© s526349668 中级黑马   /  2014-7-10 10:03  /  1180 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

设计模式:解决某一类的问题最行之有效的方法
java中有23种设计模式
单例设计模式:解决一个类在内存中存在一个对象
想要保证对象唯一:
1.为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象
2.为了让其他程序可以访问到其他对象,只好在本类中,自定义一个对象
3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式
这三步怎么代码体现?
1.将构造函数私有化
2.再类中创建一个本类对象
3.提供一个方法可以获取到该对象
对事物该怎么描述还怎么描述
当需要将该事物的对象保证在内存中唯一时,就将以上三步加上去
懒汉式与饿汉式的区别:
1.懒汉式延时加载实例对象,什么用什么时候创建对象。
2.多线程访问出现易安全问题。什么问题,判断完s==null后,容易创建多个对象。
问题怎么解决?加同步函数和同步代码块,但是很低效,每次都得判断同步,
可以使用双重判断提高效率,在同步代码块外面再次判断。
同步代码块的琐是该类的字节码文件对象,因为getInstance是静态的,没有this.

4 个回复

倒序浏览
单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例
回复 使用道具 举报
从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的共有的函数用于创建或获取它本身的静态私有对象。
回复 使用道具 举报
学习了。不错。
回复 使用道具 举报
共同学习、共同进步。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马