天津模板建站代理wordpress增加赞赏

news/2025/9/26 13:51:49/文章来源:
天津模板建站代理,wordpress增加赞赏,微信网站入口,无锡网站建设价格费用代码参考#xff1a;《重学Java设计模式小傅哥》 目录1、静态类使用2、懒汉模式#xff08;线程不安全#xff09;3、懒汉模式#xff08;线程安全#xff09;4、饿汉模式#xff08;线程安全#xff09;5、使用类的内部类#xff08;线程安全#xff09;6、双重锁检验…代码参考《重学Java设计模式·小傅哥》 目录1、静态类使用2、懒汉模式线程不安全3、懒汉模式线程安全4、饿汉模式线程安全5、使用类的内部类线程安全6、双重锁检验线程安全7、CAS[AtomicReference]线程安全8、枚举单例线程安全 在单例模式的实现上可以考虑以下几点 1、是否支持懒汉模式 2、是否线程安全 1、静态类使用 public class Singleton_00 {public static MapString, String cache new ConcurrentHashMapString, String (); }使用静态类的方式可以在第一次运行时就直接初始化Map类同时也不需要延迟加载使用。 仅用于全局访问使用方便。 如果需要被继承或者维持一些特定状态则不能使用。 这个方法不属于单例模式但是蕴含单例模式思想 2、懒汉模式线程不安全 public class Singleton_01 {private static Singleton_01 instance;private Singleton_01() {}public static Singleton_01 getInstance() {if (null ! instance) return instance;instance new Singleton_01();return instance;} }单例模式的特点就是不允许外部直接创建也就是构造函数腰围private。 此方式单例满足了懒汉加载但是如果有多个访问者同时去获取对象实例会造成多同样的实例并存没有达成单例要求。 3、懒汉模式线程安全 public class Singleton_02 {private static Singleton_02 instance;private Singleton_02() {}public static synchronized Singleton_02 getInstance() {if (null ! instance) return instance;instance new Singleton_02();return instance;} }此模式保证了线程安全但是由于把锁加到了方法上所有的访问都因为需要锁占用导致资源浪费。 4、饿汉模式线程安全 public class Singleton_03 {private static Singleton_03 instance new Singleton_03();private Singleton_03() {}public static Singleton_03 getInstance() {return instance;} }此模式在程序启动时直接运行加载后续有外部需要使用的时候获取即可。 无论程序中是否用到这样的类都会在程序启动之初创建。这也是它的缺点无意义地占用内存 5、使用类的内部类线程安全 public class Singleton_04 {private static class SingletonHolder {private static Singleton_04 instance new Singleton_04();}private Singleton_04() {}public static Singleton_04 getInstance() {return SingletonHolder.instance;} }使用类的静态内部类实现的单例模式保证了线程安全也保证了懒加载也不会因为加索的方式耗费性能 这主要是因为JVM虚拟机保证多线程并发访问正确性一个类的构造方法在多线程环境可以被正确加载 推荐使用 6、双重锁检验线程安全 public class Singleton_05 {private static Singleton_05 instance;private Singleton_05() {}public static Singleton_05 getInstance() {if (null ! instance) return instance;synchronized (Singleton_05.class) {if (null instance)instance new Singleton_05();}return instance;} }双重锁的方式是方法级锁的优化减少了部分获取实例的耗时同时这种方法也满足懒加载 7、CAS[AtomicReference]线程安全 public class Singleton_06 {private static final AtomicReferenceSingleton_06 INSTANCE new AtomicReferenceSingleton_06();private static Singleton_06 instance;private Singleton_06() {}public static final Singleton_06 getInstance() {for (;;){Singleton_06 instance INSTANCE.get();if (null ! instance) return instance;INSTANCE.compareAndSet(null, new Singleton_06());return INSTANCE.get();}}public static void main(String[] args) {System.out.printIn(Singleton_06.getInstance());System.out.printIn(Singleton_06.getInstance());} }java并发库提供了很多原子类支持并发访问数据安全性AtomicReference可以封装引用一个实例支持并发访问。 使用CAS的好处就是不需要使用传统的加锁方式保证线程安全而是依赖于CAS的忙等算法依赖于底层硬件的时间。 相对于其他锁的实现没有线程的切换和组测也就没有了额外的开销可以支持比较大的并发性 缺点就是如果一直没有获取到将会处于死循环中。 8、枚举单例线程安全 public enum Singleton_07 {INSTANCE;public void test() {System.out.printIn(hi~);} }调用方式 public void test() {Singleton_07.INSTANCE.test(); }这种方式在功能上与共有域方法相近但更加简洁无偿提供串行化机制绝对防止对此实例化。 但是在继承场景下不可用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新获取网站访客qq接口推客平台有哪些

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体邀约的好处主要体现在提高品牌知名度、扩大受众群体以及与媒体建立良好的合作关系。 媒体邀约是一种有效的公关策略,通过吸引媒体关注来促进信息的传播。它可以帮助组织…

山东省住房和城乡建设部网站首页四川润邦建设工程设计有限公司网站

大家好,我是阿赵。   这篇文章我想写了很久,是关于Unity项目使用AssetBundle加载资源时的内存管理的。这篇文章不会分享代码,只是分享思路,思路不一定正确,欢迎讨论。   对于Unity引擎的资源内存管理,我…

公司网站模板源代码常州微网站建设文档

如果有客户端1、客户端2等N个客户端争抢一个 Zookeeper 分布式锁。大致如下: 1: 大家都是上来直接创建一个锁节点下的一个接一个的临时有序节点 2: 如果自己不是第一个节点,就对自己上一个节点加监听器 3: 只要上一…

c# Listdynamic 按字段排序

public static List<dynamic> OrderByKey (this IList<dynamic> list, string propertyName, bool isDescending = false){var propertyInfo = list[0].GetType().GetProperty(propertyName);if (isDescen…

你看到的和你想要的

你看到的和你想要的 漫思

建设一个货代网站想要多少钱做谷歌网站使用什么统计代码

官方文档&#xff1a;入门指南 | Selenium Selenium是一个用于Web应用测试的工具。Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 所以使用这个前端测试话工具&#xff0c;可以自动化做很多事情&#xff0c;比如自动化抓取网页内容&#xff0c;俗称网…

大兴网站定制开发房地产招新人的坑

依赖倒转原则 在大话设计模式这本书中&#xff0c;作者通过电话修电脑这个例子引入了面向对象设计的基本原则之一&#xff1a;依赖倒转原则。 概念 依赖倒转原则是面向对象设计的基本原则之一&#xff0c;它用于减少类之间的耦合&#xff0c;提高系统的灵活性和可维护性。在…

东莞网站制作电话糗事百科 wordpress

文章目录1. 题目2. 解题1. 题目 给定一个字符串 s&#xff0c;将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回符合要求的最少分割次数。 示例: 输入: "aab" 输出: 1 解释: 进行一次分割就可将 s 分割成 ["aa","b"] 这样两个回文…

济南网站建设公司 推荐行知科技自己做网站用什么app

前言 本文主要介绍Redis的三种持久化方式、AOF持久化策略等 什么是持久化 持久化是指将数据在内存中的状态保存到非易失性介质&#xff08;如硬盘、固态硬盘等&#xff09;上的过程。在计算机中&#xff0c;内存中的数据属于易失性数据&#xff0c;一旦断电或重启系统&#…

别再靠 “关设备” 减碳!EMS 的 “预测性控能”,让企业满产也能达标双碳

在 “双碳” 目标推进的当下,减碳已成为企业发展的必答题。然而,不少企业仍陷入 “减碳就减产” 的困境 —— 为了降低碳排放,不得不采取关停生产线、限制设备运行时长等简单粗暴的方式,结果导致订单交付延迟、产能…

双活、异地多活架构怎么设计才不翻车? - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

阿里云客服界面

阿里云客服界面 漫思

关于认证系统安全的产品能力补齐

关于认证系统安全的产品能力补齐 漫思

网站个人简介怎么做公司建一个网站多少钱

transition: box-shadow 0.3s; 给按钮加效果 transition: all 0.7s; 给进度条

四川网站建设培训学校高端公司小程序建设

优先级 在同一级目录下&#xff0c;会先比较前缀bootstrap、application&#xff0c;其中bootstrap比application的优先级高&#xff0c;其次再去比较后缀.properties、.yml&#xff0c;其中.properties比.yml优先级高 所以它们的执行顺序如下&#xff1a; bootstrap.propert…

LAMP 架构说明及部署实践 - 教程

LAMP 架构说明及部署实践 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

【Linux】优秀的系统部分——线程池的基本设计思路

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:Pycharm中切换虚拟环境

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深圳品牌内衣t台秀邢台视频优化效果

众所周知&#xff0c;i9-9900KF相当于i9-9900K去除核显的版本&#xff0c;其它参考保持一致&#xff0c;所以在性能上也是相同的。不过在近期&#xff0c;intel牌牙膏厂再一次发布了一款九代酷睿i9-9900KS特别版&#xff0c;从产品型号S后缀上来看&#xff0c;确实有点类似于NV…