当前位置: 首页 > news >正文

烟台网站搭建wordpress自建表格

烟台网站搭建,wordpress自建表格,图片网站如何优化,百度搜索框 wordpress设计模式—创建型模式之单例模式 介绍 单例模式说明#xff1a;一个单一的类#xff0c;负责创建自己的对象#xff0c;同时确保系统中只有单个对象被创建。 单例模式特点#xff1a; 某个类只能有一个实例#xff1b;#xff08;构造器私有#xff09;它必须自行创…设计模式—创建型模式之单例模式 介绍 单例模式说明一个单一的类负责创建自己的对象同时确保系统中只有单个对象被创建。 单例模式特点 某个类只能有一个实例构造器私有它必须自行创建这个实例自己编写实例化逻辑它必须自行向整个系统提供这个实例对外提供实例化方法 单例模式图示如下 饿汉式 饿汉式比较简单代码如下 public class SingletonObject {private final static SingletonObject obj new SingletonObject();private SingletonObject() {System.out.println(创建了单例对象);}public static SingletonObject getInstance() {return obj;} }懒汉式—效率低下实现方式1线程安全 获取实例的方法是static的我们可以给整个方法加一个锁这样锁的对象是整个类可以保证线程安全 代码实现如下 public class SingletonObject {//懒汉式private static SingletonObject obj;//保证构造器私有外部不能实例化private SingletonObject() {System.out.println(创建了单例对象);}//这种锁粒度太大导致效率低public static synchronized SingletonObject getInstance() {//懒汉式如果没有再去创建if(obj null) {obj new SingletonObject();}return obj;} }懒汉式—效率低下实现方式2线程安全 我们可以不给整个方法加锁可以给如下代码块加锁但是这样的方式效率还是低 public class SingletonObject {//懒汉式private static SingletonObject obj;//保证构造器私有外部不能实例化private SingletonObject() {System.out.println(创建了单例对象);}//但是这样锁粒度还是太大进入到方法里边再加锁这样效率还低public static SingletonObject getInstance() {synchronized(SingletonObject.class) {//懒汉式如果没有再去创建if(obj null) {obj new SingletonObject();}}return obj;} }懒汉式—线程不安全 我们能否在创建时再加锁呢于是有了如下的代码 public class SingletonObject {//懒汉式private static SingletonObject obj;//保证构造器私有外部不能实例化private SingletonObject() {System.out.println(创建了单例对象);}//线程不安全public static SingletonObject getInstance() {//懒汉式如果没有再去创建if(obj null) {synchronized(SingletonObject.class) {obj new SingletonObject();}}return obj;} }这样的方式是线程不安全的比如 有两个线程线程1和线程2都进入到方法中判断到obj为null假如线程1先获取到锁为obj赋值完成然后方法运行结束返回obj然后线程2获取到锁又把obj赋值一次此时两次返回的就不是同一个对象了。 懒汉式—双重检查锁 下面的懒汉式设计模式用了双重检查锁 public class SingletonObject {//懒汉式,线程可见性private volatile static SingletonObject obj;//首先保证构造器私有外部不能实例化private SingletonObject() {System.out.println(创建了单例对象);}/*** 双重检查锁 内存可见性volatile*/public static SingletonObject getInstance() {//懒汉式如果没有再去创建if (obj null) {synchronized (SingletonObject.class) {if(obj null){obj new SingletonObject();}}}return obj;} }方法getInstance()中如果单例对象为空才会把方法块加锁获取到锁的线程创建对象完成并赋值成功且obj保证了线程可见性其他线程便可以感知到obj不为null就不会再创建赋值了。
http://www.hkea.cn/news/14527855/

相关文章:

  • 建大网站首页商派商城网站建设
  • 手机怎么上wap网站ui设计通常是指
  • 做网站 钱重庆网站建设的好处
  • 电商网站开发流程文档配色设计网站推荐
  • 广西响应式网站哪家好龙城建设网站公司
  • 专业 网站设计公司价格南宁建站模板厂家
  • 手机网站页面模板wordpress域名设置方法
  • 站酷海洛全球云邮登陆网站
  • 做威士忌的网站平台app开发制作
  • 网站开发心得500字ui设计师为什么干不长久呢
  • 迅腾网络网站建设有限公司福建建设监理网站
  • 网站为什么功能需求进网站后台加什么
  • 怎么编写网站代码做网站如何能让外国人看得到
  • 网站开发的基本功能做官网设计好的公司
  • 网站建设一般多少钱一年制作网页如何添加图片
  • 深圳 网站 设计广告网站定制
  • 推广一个网站周期网站建设免费模板哪家好
  • 湛江市住房和城乡建设网站企业微信会话内容存档
  • 关于网站建设的意义seo排名优化培训班
  • 买个网站域名多少钱哪个网站做简历
  • 佛山网站建设佛山网站制作广告制作公司名称
  • 做网站推广微信叫什么网名好软文代写代发
  • 电子商务网站建设重点各大网站的域名是什么原因
  • 网站后台进不去的原因品牌官方网站
  • 广州优秀网站设计设计网页心得体会
  • 网站建设收费项目婚庆素材网站免费
  • 分栏型网站有哪些网站建设工作
  • 高明网站建设公司制作网页时首先要确定什么
  • 一个网站建设域名的构思可以用wpf做网站吗
  • 石家庄网站维护域名备案好了后怎么做网站