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

电子商务旅游网站建设论文苏州建站费用

电子商务旅游网站建设论文,苏州建站费用,呼和浩特建设局网站,淘宝做图网站好基本概念 单例模式#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/14530127/

相关文章:

  • 实体店面做网站推广要多少钱wordpress后台使用方法
  • 百度站长工具后台东莞网站建设qq群
  • 做网络写手最好进那个网站做网站网站危险吗
  • 专做国外商品的网站网站镜像代理怎么做
  • 织梦网站怎么居中广州微信网站建设公司
  • 网页设计尺寸长图在线优化网站
  • 设计本官方网站电脑版wordpress 全屏图片
  • 做网站能创业吗dxc采集wordpress插件
  • 网站建设最便宜多少钱做旅游网站的目的
  • 外贸网站建设需求用什么软件可以制作图片
  • 锦屏县城乡和建设局网站图片制作动图
  • 公司备案 网站主办者名称做一个旅游网站
  • 手机网站 程序域名续费后网站打不开
  • 手机网站左右滑动效果做百度企业网站有什么好处
  • 太原模板建站福田网站设计
  • 禹州市城乡建设局网站小规模网站开发税率
  • 网站开发报告多少页合适手机网站开发公司电话
  • 网站上传服务器教程媒体平台与著作权的关系
  • 网站调研怎样做沈阳做企业网站的公司
  • 网站建设重庆最加科技wordpress显示缩略图 摘要
  • 怎么用ps做网站框架高安做网站
  • 网站建设 账务处理辽宁建设工程信息网中标结果公示几天
  • 做美食网站的特点看装修案例的网站
  • 宁都网站建设wordpress判断使用模版
  • dns 国外网站重庆建筑人才网招聘
  • 免费网站整站模板下载wordpress插件vip
  • 四川平台网站建设方案设计制作长方体形状的包装纸盒视频
  • 集团官网及站群网站建设电子商务网站推广实训报告
  • 在海外做网站 卖东西中国设计网平面设计网
  • 广州建站软件律师所网站建设