黑马程序员 单列设计模式

来源:互联网 发布:c语言视频哪个好 编辑:程序博客网 时间:2024/05/16 06:19
-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------.
这两种方式其实都是在保证该类在内存中对象的唯一性但是呢延迟加载模式呢(又叫懒汉式),有一个弊端就是在多线程操作的情况下呢,会出现线程安全问题,解决的办法就是加上同步代码块来完成,加上同步代码块以后呢效率就会降低了,为什么会降低呢,因为每一次都要对锁进行判断,这个时候呢为了提高代码的效率呢,就加上了双重判断的方式来完成了.但是加上同步代码块的话,锁从哪里来的呢.这个类又没办法创建实例化的对象,这个类是没有办法创建实例化的对象但是在内存中该类的字节码文件,是存在的,Singla.class 所以用到的锁就是该类的字节码文件.另外一种的话(又叫饿汉式)是没有线程安全问题的,因为操作的只有一句话不会出错的class Singla{private static Singla singla= null;private Singla(){}public static Singla getSingla(){if(singla==null){synchronize(Singla.class){if(singla==null)return singla= new Singla();return singla;}}}}class Singla{private static final Singla s= new Singla();private Singla(){}public static Singla getSingla(){return s;}}
-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------.
0 0