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

网站开发需要哪些基础技术电子商务网站规划的内容

网站开发需要哪些基础技术,电子商务网站规划的内容,百度联盟点击广告赚钱,网站制作最目录 一、五种单例模式的实现方式 1.饿汉模式 2.饿汉枚举类型 3.懒汉式 4.双检锁懒汉式 5.内部类懒汉式 二、JDK 中单例的体现 一、五种单例模式的实现方式 1.饿汉模式 public class Singleton1 implements Serializable {private Singleton1() {if (INSTANCE ! null) {thro…目录 一、五种单例模式的实现方式 1.饿汉模式 2.饿汉枚举类型 3.懒汉式 4.双检锁懒汉式 5.内部类懒汉式 二、JDK 中单例的体现 一、五种单例模式的实现方式 1.饿汉模式 public class Singleton1 implements Serializable {private Singleton1() {if (INSTANCE ! null) {throw new RuntimeException(单例对象不能重复创建);}System.out.println(private Singleton1());}private static final Singleton1 INSTANCE new Singleton1();public static Singleton1 getInstance() {return INSTANCE;}public static void otherMethod() {System.out.println(otherMethod());}public Object readResolve() {return INSTANCE;} } 构造方法抛出异常是防止反射破坏单例 readResolve() 是防止反序列化破坏单例 2.饿汉枚举类型 public enum Singleton2 {INSTANCE;private Singleton2() {System.out.println(private Singleton2());}Overridepublic String toString() {return getClass().getName() Integer.toHexString(hashCode());}public static Singleton2 getInstance() {return INSTANCE;}public static void otherMethod() {System.out.println(otherMethod());} } 枚举饿汉式能天然防止反射、反序列化破坏单例 3.懒汉式 public class Singleton3 implements Serializable {private Singleton3() {System.out.println(private Singleton3());}private static Singleton3 INSTANCE null;// Singleton3.classpublic static synchronized Singleton3 getInstance() {if (INSTANCE null) {INSTANCE new Singleton3();}return INSTANCE;}public static void otherMethod() {System.out.println(otherMethod());}} 其实只有首次创建单例对象时才需要同步但该代码实际上每次调用都会同步 因此有了下面的双检锁改进 4.双检锁懒汉式 public class Singleton4 implements Serializable {private Singleton4() {System.out.println(private Singleton4());}private static volatile Singleton4 INSTANCE null; // 可见性有序性public static Singleton4 getInstance() {if (INSTANCE null) {synchronized (Singleton4.class) {if (INSTANCE null) {INSTANCE new Singleton4();}}}return INSTANCE;}public static void otherMethod() {System.out.println(otherMethod());} } 为何必须加 volatile INSTANCE new Singleton4() 不是原子的分成 3 步创建对象、调用构造、给静态变量赋值其中后两步可能被指令重排序优化变成先赋值、再调用构造 如果线程1 先执行了赋值线程2 执行到第一个 INSTANCE null 时发现 INSTANCE 已经不为 null此时就会返回一个未完全构造的对象 5.内部类懒汉式 public class Singleton5 implements Serializable {private Singleton5() {System.out.println(private Singleton5());}private static class Holder {static Singleton5 INSTANCE new Singleton5();}public static Singleton5 getInstance() {return Holder.INSTANCE;}public static void otherMethod() {System.out.println(otherMethod());} } 避免了双检锁的缺点 二、JDK 中单例的体现 Runtime 体现了饿汉式单例 Console 体现了双检锁懒汉式单例 Collections 中的 EmptyNavigableSet 内部类懒汉式单例 ReverseComparator.REVERSE_ORDER 内部类懒汉式单例 Comparators.NaturalOrderComparator.INSTANCE 枚举饿汉式单例
http://www.hkea.cn/news/14439775/

相关文章:

  • dw网站引导页怎么做免费app开发平台
  • 进行公司网站建设方案永久免费手机建站平台
  • c2c商城网站开发苏州模板建站平台
  • 营销网站设计方案邢台交友123
  • 网站seo优化怎么做怎么更换网站logo
  • 定陶区城乡建设局网站专业设计科技展厅公司
  • 零基础搭建网站注册建设通网站首页
  • 清苑区建设网站找那家公司怎么制作一个团购小程序
  • 响应式设计 手机网站shopnc
  • 石家庄网站建设策略网站模块顺序调整
  • 网站后台怎么建设钢结构加工
  • 淘宝网官方网站电脑版海南网络广播电视台开学第一课
  • 长春的网站建设清空wordpress
  • 网站的后台怎么做的做的网站放在阿里云
  • 网站编程语言郑州一凡网站建设
  • django和wordpress东莞网站快速排名优化
  • 中国营销传播网官网哈尔滨seo排名优化免费咨询
  • 电脑网站做淘宝客html5网页开发工具
  • 青岛在线制作网站公司做的网站访问很慢
  • 济源建设网站的公司温州网站设计联系亿企邦
  • 个人站长做什么网站好珠海网站网站建设
  • 百度网站建设需要钱照片书那个网站做的好
  • 网站的建设的含义学做网网站论坛
  • 保定网站制作计划怎么做外汇返佣的网站
  • 福州网站建设专业公司h5做怎么做微网站
  • Wordpress微支付谷歌外贸网站seo怎么做
  • 哪些是 joomla做的网站电商网站的付款功能
  • 北京seo网站创建外卖平台
  • 凯里网站建设哪家专业wordpress多用户图库
  • wordpress页面不留边潍坊seo推广