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

html网站开发实例网络营销推广方式包括哪几种

html网站开发实例,网络营销推广方式包括哪几种,做智能网站系统下载,电子商务与网站建设课程简介 单例模式:一个类有且仅有一个实例,该类负责创建自己的对象,同时确保只有一个对象被创建。 特点:类构造器私有、持有自己实例、对外提供获取实例的静态方法。 单例模式的实现方式 饿汉式 类被加载时,就会实例…

简介

单例模式:一个类有且仅有一个实例,该类负责创建自己的对象,同时确保只有一个对象被创建。

特点:类构造器私有、持有自己实例、对外提供获取实例的静态方法。

单例模式的实现方式

饿汉式

类被加载时,就会实例化一个对象并交给自己的引用,供系统使用;而且,由于这个类在整个生命周期中只会被加载一次,因此只会创建一个实例,即能够充分保证单例。

案例:

public class Singleton {private static Singleton instance = new Singleton();private Singleton() { }public static Singleton getInstance() {return instance;}
}

饿汉式比较耗费资源,因为它创建单例的时间过早,它是在类被加载的时候创建单例的

懒汉式加双重检查加锁

饿汉式的优化,只有在获取类的实例时才会创建实例。

案例:

public class SingleTon {// 使用volatile修饰,保证变量的可见性private static volatile SingleTon instance;public static SingleTon getInstance() {// 先检查实例是否存在,如果不存在才进入下面的同步块if (instance == null) {// 同步块,线程安全的创建实例synchronized (SingleTon.class) {// 再次检查实例是否存在,如果不存在才真的创建实例if (instance == null) {instance = new SingleTon();}}}return instance;}
}

饿汉式中的注意事项:

1、为什么类持有的自己的私有实例要用volatile修饰:为了保证指定变量的有序性和可见性。new一个对象的代码 SingleTon instance = new SingleTon(); 可以分解为3行伪代码:

memory=allocate();// 分配内存 相当于c的malloc
ctorInstanc(memory) //初始化对象
instance=memory //设置instance指向刚分配的地址

上面的代码在编译器运行时,可能出现重排序,从 1-2-3 变为 1-3-2,在多线程环境下就会出现问题,使用 volatile 关键字会禁止这种重排序。

2、为什么要双重锁:如果只有一个锁,很有可能两个线程都通过了 if(instance == null) 的判断,所以在进入同步代码块之后还需要再判断一次

用静态内部类来实现单例模式

案例:

public class SingleTon {private SingleTon2() { }// 用一个私有的静态内部类来存储外部类的实例,类只会被加载一次,保证单例。// 内部类只有在被调用时才会被加载,保证了延迟加载private static class SingleTonHolder {private static SingleTon2 instance = new SingleTon2();}public static SingleTon2 getInstance() {return SingleTonHolder.instance;}
}

破坏单例模式

破坏单例模式:序列化和反射可以破坏单例模式。

  • 解决序列化破坏单例的问题:在类中添加readResolve方法,返回类中的实例,可以解决通过序列化破坏单例模式的问题;
  • 解决反射破坏单例的问题:在构造方法中抛异常,可以解决通过反射破坏单例模式的问题

单例模式的使用案例

饿汉式单例模式的使用:jdk中的Runtime类,每个java程序中都只有一个Runtime实例,它代表java程序的运行环境

public class Runtime {// 类被加载时,就会实例化一个对象并交给自己的引用private static Runtime currentRuntime = new Runtime();// 返回单例对象的方法public static Runtime getRuntime() {return currentRuntime;}// 私有化的构造方法/** Don't let anyone else instantiate this class */private Runtime() {}
}
http://www.dtcms.com/wzjs/389178.html

相关文章:

  • 外贸网站推广 雅虎问答有用吗精准引流推广
  • 开个网站做英语培训微信投放广告多少钱
  • 网站排名的英文北京seo推广
  • 全屏网站大小网站策划书案例
  • 小型网站设计及建设毕业论文互联网营销师怎么报名
  • iis 默认网站 删除关键词优化方法
  • 深圳华强北商业圈太原seo网站排名
  • 做俄语网站建设厦门百度seo
  • 网站中在线咨询怎么做南宁网络推广品牌
  • php实现网站tag标签数据推广公司
  • 用discuz做的网站网站注册信息查询
  • 男生女生做污事网站宁波百度seo点击软件
  • 网站如何做滚动效果泸州网站seo
  • 跨境电商商城源码百度seo刷排名软件
  • 清河做网站报价找资源的关键词有哪些
  • 用wordpress建立网站百度网站登录
  • 面试建设单位在哪个网站百度推广投诉电话客服24小时
  • 如何给网站做301重定向seo外包公司如何优化
  • crm系统的作用企业seo排名优化
  • vue做的网站大全58精准推广点击器
  • 体检中心网站建设方案小程序推广方案
  • 苏州网站设计哪家好广州百度seo优化排名
  • 怎么做服务网站企业网站营销的优缺点及案例
  • 地税网站如何做税种确认seo工资一般多少
  • wordpress会员设置学校seo推广培训班
  • 旅游网站制作内容seo短视频入口引流
  • 温州手机建站模板被逆冬seo课程欺骗了
  • 重庆食品商城网站设计全文搜索引擎有哪些
  • 荔湾建设网站免费外链工具
  • 哪个网站学习做辅助站长统计网站