java基础的零散总结(2)--单例设计模式
来源:互联网 发布:泰迪熊代挂软件官网 编辑:程序博客网 时间:2024/05/21 06:53
单例设计模式:
实例:张三开车去东北,经理只想让他中途开这同一辆车去。
在代码中车只有一辆,不管你怎么new,只有这一辆车。
懒汉式:(项目中建议使用)
class Car{
private Car(){}//构造函数私有话
private Car car=new Car();//必须提供一个对象
public static Car getCar(){//提供一个可以返回对象的方法,必须是静态的,这个对象是不能new的
return car;
}
}
饿汉式:(在面试中常提到,涉及到多线程中的问题) 写一个延迟加载的单例设计模式
①直接使用同步函数解决多线程问题,效率稍低。
class Single
{
private Single(){}//构造函数私有话
private Single single=null;
public static synchronized Single getSingle(){
if(single==null)
single=new Single();
return single;
}
}
②使用双重判断加同步代码块解决,效率稍高。
class Single
{
private Single(){}//构造函数私有话
private Single single=null;
public static Single getSingle(){
if(single==null){
synchronized(Single.class){//加同步代码块时所使用的是哪一个锁?该类所属字节码的文件对象。
if(single==null)
single=new Single();
}
}
return single;
}
}
懒汉式和饿汉式的区别:懒汉式的特点在于,实例的延迟加载。
延迟加载时会出现安全问题,可以使用同步解决。同步函数和同步代码块都可以,同步函数效率稍低。使用同步代码块的双重判断可以解决效率问题。
加同步代码块时所使用的是哪一个锁?该类所属字节码的文件对象。
- java基础的零散总结(2)--单例设计模式
- 黑马程序员:Java基础总结----单例设计模式
- java基础的零散总结(1)
- Java基础-设计模式-单例模式
- Java基础-设计模式-单例模式2
- java零散的基础
- java基础--单例设计模式
- Java-单例设计模式(基础)
- java基础关于单例设计模式
- 对于Java单例设计模式的总结和分析
- java单例设计模式总结
- java单例设计模式实例总结
- java基础之----设计模式单例设计模式
- Java 设计模式—单例设计模式总结
- java的设计模式---单例模式
- java的设计模式---单例模式
- java的设计模式--单例模式
- 单例设计模式的一点总结
- 我既要开发PHP,又要开发JSP而同时又都要用到MYSQL数据库,肿么办,安装太多的环境又不好管理(PHPNOW+ECLIPSE)
- Qt开发桌面Helloworld与Qt windows应用程序 双击不能运行解决方法
- 整合Bullet物理引擎到Ogre on iPhone
- android - Gesture学习 1
- 获得本机外部IP和名称
- java基础的零散总结(2)--单例设计模式
- 分页转瀑布
- 在iPhone游戏中Ogre的UI选择和Ogre的内置UI学习
- Python学习之字典详解
- JAVA垃圾收集参数与日志格式
- 匿名类、内部类、匿名内部类
- 黑马程序员_java学习笔记八 正则表达示
- 常用正则表达式
- 关于PL-2303HX驱动问题