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

电子商务旅游网站建设论文个人永久免费自助建站

电子商务旅游网站建设论文,个人永久免费自助建站,wordpress 绑定域名,迅速建设企业网站基本概念 单例模式#xff1a;保证一个类只有一个实例#xff0c;并提供一个访问该实例的全局访问点 常见应用场景 读取配置文件的类一般设计为单例模式网站计数器应用程序的日志应用#xff0c;因为共享日志文件一直处于打开状态#xff0c;只能有一个实例去操作Spring…基本概念 单例模式保证一个类只有一个实例并提供一个访问该实例的全局访问点 常见应用场景 读取配置文件的类一般设计为单例模式网站计数器应用程序的日志应用因为共享日志文件一直处于打开状态只能有一个实例去操作Spring 中初始化 bean 默认为单例Servlet 编程中每个 servlet 都是单例Spring MVC / Struts1 框架控制器对象是单例 单例模式优点 (1) 由于单例模式只生成一个实例减少了系统性能开销当一个对象的产生需要比较多的资源时如读取配置、产生其他依赖对象时可以通过在应用启动时直接产生一个单例对象然后以永久驻留内存的方式解决 (2) 单例模式可以在系统设置全局变量访问点优化了共享资源的访问 常见单例实现方式 1. 饿汉式静态常量 优点写法简单在类加载时就完成了实例化避免了线程同步问题 缺点没有达到懒加载的效果如果没有用到这个实例将造成内存浪费 结论可用于实际开发 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象实例*/private final static Singleton INSTANCE new Singleton();/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return INSTANCE;} }2. 饿汉式静态代码块 该方式和静态常量的方式类似只不过将类实例化的过程放在了静态代码块中即在类装载的时候就执行静态代码块中的代码初始化类的实例优缺点和静态常量的方式一样 结论可用于实际开发 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象属性*/private static Singleton INSTANCE;/*** 3.在静态代码块中创建单例对象*/static {INSTANCE new Singleton();}/*** 4.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return INSTANCE;} }3. 懒汉式线程不安全 优点起到了懒加载的效果但只能在单线程的场景下使用 缺点如果在多线程下一个线程还在 if 判断语句块而另一个线程通过了 if 代码块就会产生多个实例 结论实际开发中不推荐使用该方式 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象属性*/private static Singleton INSTANCE;/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return null INSTANCE ? new Singleton() : INSTANCE;} }4. 懒汉式线程安全同步方法 对方式 3 进行改进对返回单例对象的 getInstance() 方法添加 synchronized保证线程安全即多个线程不能同时调用 getInstance() 方法 优点解决了线程不安全的问题 缺点效率太低多个线程想获取类的实例的时候执行 getInstance() 方法都要同步而其实该方法只执行一次实例化代码就够了其他的线程想获取该类的实例直接 return 就行了使用方法同步降低了效率 结论实际开发中不推荐使用该方式 public class Singleton { /** * 1.构造器私有化 */ private Singleton() {} /*** 2.类内部创建对象属性*/ private static Singleton INSTANCE;/*** 3.提供公有静态方法返回实例对象*/ public static synchronized Singleton getInstance() {return null INSTANCE ? new Singleton() : INSTANCE; }} 5. 双重检查 加入了双重检查代码解决了线程安全的问题同时也解决了懒加载的问题效率较高 结论可用于实际开发 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象属性*/private static volatile Singleton INSTANCE;/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {if(null INSTANCE) {// 保证创建实例对象的时候, 只能有一个线程synchronized(Singleton.class) {if(null INSTANCE) {INSTANCE new Singleton();}}}return INSTANCE;} }6. 静态内部类推荐 当外部类 Singleton 装载的时候内部类 SingletonInstance 并不会立即装载实现了延迟加载 只有在调用 getInstance() 方法的时候才使用到内部类这时候内部类才会装载而类的装载过程是线程安全的即保证了线程安全 所以静态内部类这种方式既保证了懒加载又保证了线程安全 结论强烈推荐 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.通过静态内部类实例化对象*/private static class SingletonInstance {private static final Singleton INSTANCE new Singleton();}/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return SingletonInstance.INSTANCE;} }7. 枚举推荐 借助 JDK1.5 添加的枚举实现单例模式不仅避免了多线程同步的问题还能防止反序列化重新创建新的对象 结论强烈推荐 public enum Singleton {/*** 定义单例对象属性*/INSTANCE;/*** 定义单例对象方法*/public void method() {System.out.println(枚举实现单例);} }不同实现方式效率对比
http://www.hkea.cn/news/14511653/

相关文章:

  • 兼职做网站编辑手机网站模板设计软件
  • 公司要建设网站深圳网站建设怎么做
  • 中国企业公司网站建设drupal joomla wordpress 带后台管理
  • 蒙文网站开发中国对外贸易公司排名
  • 怎么建论坛网站做网站付款会有凭证吗
  • 商务网站系统中支付功能怎么做市场调研报告怎么写
  • 水泵网站站群建设申请新账号注册
  • 网站开发如何运用form表单供需平台类网站建设
  • 微信公众号和网站建设的意义国内的有什么好wordpress主题
  • 网络服务禁用后如何启动新泰网站seo
  • 使用session和cookie实现网站自动登录 .net个性化推荐网站开发源码
  • 布吉做棋牌网站建设找哪家效益快wordpress网站如何制作
  • 绵阳阡陌网站建设域名买好后怎么建设网站
  • wordpress 刷新缓存网站图片大小优化
  • 苏州政策查询防疫网络seo
  • 建设安全网站的目的17做网店广州货源网
  • 美妆网站源码asp国外地图搜房网站建设
  • 做网站 用什么语言高校网站群建设研究
  • 嘉兴网站公司哪家好邢台度网网站建设
  • 北京网站建设报价打造龙头建设示范
  • 招聘网站开发兼职成都市住房与城乡建设局网站
  • 高端建站和普通建站有哪些不同淄博网站开发公司
  • 网站个人备案流程网站建设公司网站源码
  • 漳平网络建站公司住房和城乡建设部网站质保金
  • 罗湖附近公司做网站建设嘉兴网站推广平台
  • 淮安淮阴网站建设百度app最新版本
  • 怎样注册平台网站网站搭建策划书
  • 资深的网站建设上海手机网站建设哪家专业
  • 设计做网站海洋高端的专业做网站
  • 营销型网站排成都全美网站建设