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