关于单例模式
public class Singleton {
private static Singleton singleton;
private Singleton(){
}
public static Singleton getInstance() {
if (null == singleton) {
singleton = new Singleton();
}
return singleton;
}
}
代码一在类创建的同时就并没有建好一个静态的对象供系统使用,并且线程不安全。
public class Singleton {
private static Singleton singleton;
private Singleton(){
}
public static Singleton getsychronizedInstance() {
if (null == singleton) {
synchronized (Singleton.class) {
singleton = new Singleton();
}
}
return singleton;
}
}
代码二在类创建的同时就并没有建好一个静态的对象供系统使用,但是线程安全。
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton(){
}
public static Singleton getsychronizedInstance() {
return singleton;
}
}
代码三在类创建的同时就已经建好一个静态的对象供系统使用,因此也线程安全。
问题:
饿汉模式和懒汉模式是从线程安全角度来区分?还是从初始化类的时候是否实例化静态对象?来区分的。另外在英文版的设计模式中懒汉模式和饿汉模式对应的英文术语是怎么样的?
相关阅读:
nginx怎么修改跨域配置?
java如何把控制台打印的数据插入数据库?
七牛python的API:上传文件的put_file 函数,其中参数file_path路径问题?
[Eclipse]杀不尽的端口占用问题
JavaScript中函数执行问题
安装好 boot2docker 后,运行提示 Error response from daemon: client and server don't have same version (client : 1.15, server: 1.14)
如何根据网址生成网页截图?
Web.py -AttributeError: 'module' object has no attribute 'get_list_info', 出错原因
angularjs 动态请求的select options,数据绑定不上去
如何定时执行一段PHP程序,不用linux或者windows上面的计划任务?
大都数网站(如segmentfault、知乎)的消息功能是采用什么技术和原理实现的
如何在使用webpack-dev-server的过程中,同时生成文件?
如何让一张图片定位到一个高度会变化的div的底部?
如何只在img被hover的时候触发?
spring mvc 上传文件 request转换错误
js 模糊查找 class 元素 和 id 元素
CI框架用原生的url怎么配置路由
nodejs 命令行程序 环境变量问题
高并发用消息队列会延迟,还有什么好方法解决?
angularjs1.3应不应该升级1.4,升级1.4应该注意什么。