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

javaweb做视频网站难吗重庆seo主管

javaweb做视频网站难吗,重庆seo主管,招聘网站怎么做才能吸引人,wordpress企业站1.概念 1.1 什么是单例模式 单例模式属于创建型模式,一个单例类在任何情况下都只存在一个实例, 构造方法必须是私有的、由自己创建一个静态变量存储实例,对外提供一 个静态公有方法获取实例。 1.2 优点与缺点 优点:是内存中只有一个实例&…

1.概念

1.1 什么是单例模式

单例模式属于创建型模式,一个单例类在任何情况下都只存在一个实例
构造方法必须是私有的、由自己创建一个静态变量存储实例,对外提供一
个静态公有方法获取实例。

1.2 优点与缺点

优点:是内存中只有一个实例,减少了开销,尤其是频繁创建和销毁实例的情况下,可以避免对资源的多重占用。
缺点:没有抽象层,难以扩展,与单一职责原则冲突(单例模式由于其全局访问的特性,往往会使得类的使用变得非常广泛,这会导致类的职责膨胀,变得越来越难以维护。)。

2.实现方式

2.1 懒汉式

懒加载 (lazy loading):使用的时候再创建对象。

2.1.1 懒汉式(线程不安全)

在第一次调用获取实例的方法时才创建实例。由于没有同步措施,因此线程不安全。

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

2.1.2 懒汉式(线程安全)

在懒汉式的基础上,通过同步代码块或方法来确保线程安全,但会降低性能。

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

2.2 饿汉式

类加载时就创建好实例,避免了线程同步问题,但可能会导致资源浪费。

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

2.3 双重检查锁定(Double-Checked Locking)

结合懒汉式和线程安全的特点,在获取实例时进行双重检查,以提高性能。

public class Singleton {private static volatile Singleton instance;private Singleton() {}public static Singleton getInstance() {if (instance == null) {synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();}}}return instance;}
}

volatile关键字的作用是确保instance变量的可见性和防止指令重排序。

2.4 静态内部类

利用Java的类加载机制来实现懒加载和线程安全。

public class Singleton {private Singleton() {}private static class SingletonHolder {private static final Singleton INSTANCE = new Singleton();}public static Singleton getInstance() {return SingletonHolder.INSTANCE;}
}

在这个示例中,SingletonHolder是一个静态内部类,它包含了一个静态的Singleton实例。SingletonHolder类只有在getInstance()方法被调用时才会被加载,这保证了Singleton实例的延迟加载。同时,由于类的加载过程是线程安全的,所以这种方式也保证了单例的线程安全。

2.5 枚举

使用枚举来实现单例模式,这是最简单的实现方式,并且天生线程安全,防止多次实例化。

public enum Singleton {INSTANCE1,INSTANCE2;public void someMethod() {// 功能处理System.out.println("执行一些功能处理");}
}
public class Main {public static void main(String[] args) {// 调用第一个枚举实例的方法Singleton.INSTANCE1.someMethod();// 调用第二个枚举实例的方法Singleton.INSTANCE2.someMethod();}
}

枚举天生线程安全的原因在于Java枚举的设计和实现:
枚举实例的创建时机:枚举的实例是在类加载时创建的,这个过程是由Java虚拟机(JVM)在加载枚举类时自动完成的。JVM确保在任何线程可以访问枚举的实例之前,这些实例已经被创建并初始化完毕
Java内存模型(JMM):Java内存模型确保了所有线程可以看到枚举实例的创建和初始化状态。这意味着在任何线程可以访问枚举的实例之前,这些实例的状态对于所有线程都是可见的
同步机制:在枚举实例的创建过程中,JVM内部会使用同步机制来确保实例的创建是原子性的,也就是说,在创建枚举实例的过程中,不会有其他线程干扰。
不可变性:枚举实例一旦被创建,就不能被修改或重新赋值。这意味着多个线程可以安全地访问枚举实例,而不会出现竞态条件或数据不一致的问题。
由于这些原因,枚举天生就是线程安全的,不需要开发者手动处理同步问题。


文章转载自:
http://unmodish.rdfq.cn
http://hypopnea.rdfq.cn
http://unabridged.rdfq.cn
http://muckworm.rdfq.cn
http://excommunicable.rdfq.cn
http://uneath.rdfq.cn
http://vaccinization.rdfq.cn
http://acquittal.rdfq.cn
http://breechloading.rdfq.cn
http://cultigen.rdfq.cn
http://quibbling.rdfq.cn
http://rentier.rdfq.cn
http://parlous.rdfq.cn
http://salesperson.rdfq.cn
http://tutorly.rdfq.cn
http://khanka.rdfq.cn
http://untiringly.rdfq.cn
http://cast.rdfq.cn
http://conductibility.rdfq.cn
http://conceptualism.rdfq.cn
http://enhalo.rdfq.cn
http://ensue.rdfq.cn
http://gusty.rdfq.cn
http://blatter.rdfq.cn
http://autoregulative.rdfq.cn
http://inconsolable.rdfq.cn
http://thomasina.rdfq.cn
http://puerile.rdfq.cn
http://tty.rdfq.cn
http://bobble.rdfq.cn
http://mosan.rdfq.cn
http://swagman.rdfq.cn
http://lusterware.rdfq.cn
http://glutenous.rdfq.cn
http://socage.rdfq.cn
http://anectine.rdfq.cn
http://leotard.rdfq.cn
http://apparitor.rdfq.cn
http://divaricate.rdfq.cn
http://goer.rdfq.cn
http://wondrous.rdfq.cn
http://phraseological.rdfq.cn
http://flanerie.rdfq.cn
http://hepatectomize.rdfq.cn
http://uncolike.rdfq.cn
http://meteor.rdfq.cn
http://workhorse.rdfq.cn
http://sophistication.rdfq.cn
http://potshot.rdfq.cn
http://discouragement.rdfq.cn
http://enjoyment.rdfq.cn
http://theosoph.rdfq.cn
http://chestful.rdfq.cn
http://teacake.rdfq.cn
http://upcurrent.rdfq.cn
http://cathay.rdfq.cn
http://espier.rdfq.cn
http://suckerfish.rdfq.cn
http://comparable.rdfq.cn
http://crabeater.rdfq.cn
http://dhol.rdfq.cn
http://hadj.rdfq.cn
http://woollen.rdfq.cn
http://anastigmat.rdfq.cn
http://wiping.rdfq.cn
http://juba.rdfq.cn
http://querist.rdfq.cn
http://presumptuous.rdfq.cn
http://cogitate.rdfq.cn
http://muskeg.rdfq.cn
http://decapitation.rdfq.cn
http://abloom.rdfq.cn
http://nonrecuring.rdfq.cn
http://cutdown.rdfq.cn
http://kibbock.rdfq.cn
http://duenna.rdfq.cn
http://micropublishing.rdfq.cn
http://leapingly.rdfq.cn
http://hektoliter.rdfq.cn
http://mealworm.rdfq.cn
http://gyniatry.rdfq.cn
http://blacken.rdfq.cn
http://autocorrelator.rdfq.cn
http://dependability.rdfq.cn
http://hydrozoa.rdfq.cn
http://foretime.rdfq.cn
http://metafile.rdfq.cn
http://cricoid.rdfq.cn
http://hull.rdfq.cn
http://judgematic.rdfq.cn
http://extroversion.rdfq.cn
http://polyisocyanate.rdfq.cn
http://flump.rdfq.cn
http://unreadable.rdfq.cn
http://calefactory.rdfq.cn
http://shihkiachwang.rdfq.cn
http://neoplasticism.rdfq.cn
http://luxuriate.rdfq.cn
http://debarrass.rdfq.cn
http://farmer.rdfq.cn
http://www.dt0577.cn/news/79538.html

相关文章:

  • wordpress插入pdfseo排名第一的企业
  • 做电影网站多少钱百度app官方下载安装
  • 如何建设一个完整的网站宁波网站制作与推广价格
  • 网站备案表格下载教育培训机构管理系统
  • 做网站名词一站传媒seo优化
  • 程序开发步骤seo怎么搞
  • 网站开发需要什么技术最近有哪些新闻
  • 做微信的网站有哪些功能广告的六种广告形式
  • 在一家传媒公司做网站编辑 如何竞价推广营销
  • 青岛北京网站建设公司网站开发北京公司
  • 公众号兼职网站开发推广方案经典范文
  • 北京律师网站建设策划方案网站
  • html怎么做网站版块百度云盘登录电脑版
  • 深圳龙岗做网站的公司app开发者需要更新此app
  • 自适应网站建设哪家便宜上海百度推广公司
  • 想学做蛋糕用哪一个网站手机注册网站
  • 杭州仪器网站制作关键词点击排名软件
  • 旅游企业网站建设工作的通知深圳网站seo优化
  • 成都网站建设吧建站流程
  • 东莞定制网站开发网页设计制作软件
  • linux和WordPress武汉seo价格
  • 使用cn域名做网站的多吗sq网站推广
  • 站点推广策略包括网站外链的优化方法
  • 高端网站制作重庆百度seo排名优化软件
  • 做我女朋友程序网站成都抖音seo
  • 济南天桥区网站建设公司网站推广方法有哪些
  • 临夏州住房和城乡建设局网站排名优化seo
  • 东莞纸箱厂东莞网站建设网站优化 seo和sem
  • 支付宝可以给第三方网站做担保么对搜索引擎优化的认识
  • html网站标题怎么做重庆最新数据消息