武威网站seo管理咨询公司项目运作流程图

张小明 2026/3/12 9:09:17
武威网站seo,管理咨询公司项目运作流程图,公司网站一般多少钱,网站建设制作设计开发单例模式#xff0c;是设计模式中最常见的模式之一#xff0c;它是一种创建对象模式#xff0c;用于产生一个对象的具体实例#xff0c;可以确保系统中一个类只会产生一个实例。 单例模式 单例模式是Java中最简单的设计模式之一#xff0c;属于创建型模式#xff0c;它提…单例模式是设计模式中最常见的模式之一它是一种创建对象模式用于产生一个对象的具体实例可以确保系统中一个类只会产生一个实例。单例模式单例模式是Java中最简单的设计模式之一属于创建型模式它提供一种创建对象的最佳方式。单例模式顾名思义就是单一的实例涉及到一个单一的类该类负责创建自己的对象同时确保只有一个对象被创建并且提供一种可以访问这个对象的方式可以直接访问不需要实例化该类的对象。对于单列模式在单例类的内部创建它的唯一实例并通过静态方法getInstance()让客户端可以使用它的唯一实例为了防止在外部对单例类实例化将其构造函数的可见性设置为private在单例类内部定义一个singleton类型的静态对象作为供外部共享访问的唯一实例。单例模式的特点1.单例类只能有一个实例2.这个实例必须由单例类自己创建3.单例类需要提供给外界访问这个实例单例模式的作用单例模式主要为了保证在Java应用程序中一个类只有一个实例存在。所有需要调用的地方都共享这一单例对象。实现方式构造方法的重载将构造方法设置为私有。单例模式的结构单例模式主要有以下角色单例类只能创建一个实例的类访问类测试类就是使用单例类的类优缺点优点对于频繁使用的对象可以省去 new 操作花费的时间尤其对那些重量级对象而言削减了一笔非常客观的系统开销。由于 new 操作的次数减少因而对系统内存的使用频率也会降低从而减轻 GC 压力缩短 GC 停顿时间。缺点单例模式一般没有接口扩展困难。如果要扩展则除了修改原来的代码没有第二种途径违背开闭原则。在并发测试中单例模式不利于代码调试。在调试过程中如果单例中的代码没有执行完也不能模拟生成一个新的对象。单例模式的功能代码通常写在一个类中如果功能设计不合理则很容易违背单一职责原则。常见写法双重检查模式public class Singleton {private volatile static Singleton singleton; //1:volatile修饰private Singleton (){}public static Singleton getSingleton() {if (singleton null) { //2:减少不要同步优化性能synchronized (Singleton.class) { // 3同步线程安全if (singleton null) {singleton new Singleton(); //4创建singleton 对象}}}return singleton;}}推荐理由延迟初始化。和懒汉模式一致只有在初次调用静态方法getSingleton才会初始化signleton实例。性能优化。同步会造成性能下降在同步前通过判读singleton是否初始化减少不必要的同步开销。线程安全。同步创建Singleton对象同时注意到静态变量singleton使用volatile修饰。为什么要使用volatile修饰虽然已经使用synchronized进行同步但在第4步创建对象时会有下面的伪代码memoryallocate(); //1分配内存空间ctorInstance(); //2:初始化对象singletonmemory; //3:设置singleton指向刚排序的内存空间当线程A在执行上面伪代码时2和3可能会发生重排序因为重排序并不影响运行结果还可以提升性能所以JVM是允许的。如果此时伪代码发生重排序步骤变为1-3-2,线程A执行到第3步时线程B调用getsingleton方法在判断singletonnull时不为null则返回singleton。但此时singleton并还没初始化完毕线程B访问的将是个还没初始化完毕的对象。当声明对象的引用为volatile后伪代码的2、3的重排序在多线程中将被禁止!静态内部类模式public class Singleton {private Singleton(){}public static Singleton getSingleton(){return Inner.instance;}private static class Inner {private static final Singleton instance new Singleton();}}推荐理由实现代码简洁。和双重检查单例对比静态内部类单例实现代码真的是太简洁又清晰明了。延迟初始化。调用getSingleton才初始化Singleton对象。线程安全。JVM在执行类的初始化阶段会获得一个可以同步多个线程对同一个类的初始化的锁。如何实现线程安全线程A和线程B同时试图获得Singleton对象的初始化锁假设线程A获取到了那么线程B一直等待初始化锁。线程A执行类初始化就算双重检查模式中伪代码发生了重排序也不会影响线程A的初始化结果。初始化完后释放锁。线程B获得初始化锁发现Singleton对象已经初始化完毕释放锁不进行初始化获得Singleton对象。在涉及到反射和序列化的单例中建议使用下文的枚举类型模式。其他类型的单例模式懒汉模式(多线程不安全)public class Singleton {private static Singleton instance;private Singleton (){}public static Singleton getInstance() {if (instance null) {instance new Singleton();}return instance;}}饿汉单例模式(多线程安全)public class Singleton {private static Singleton instance new Singleton();private Singleton (){}public static Singleton getInstance() {return instance;}}饿汉模式的线程安全同样通过类加载解决同步问题但没有达到懒加载目的。这里非常感谢之初z-chu的指正枚举单例模式(多线程安全)public enum Singleton {INSTANCE;public void doSomething(){//todo doSomething}}在Joshua Bloch大神的《Effective Java》是推荐该方法的。虽然线程安全在实际开发中还没有被广泛采用。因为太过简洁以致于可读性较差还没有在实战中被广泛推广。枚举单例模式的线程安全同样利用静态内部类中讲到类初始化锁。枚举单例模式能够在序列化和反射中保证实例的唯一性。应用场景1.网站的计数器2.应用程序的日志应用3.数据库连接池4.读取配置文件中的类5.application6.pask manager总结在实际工作中单例的使用还是比较常见的在几种实现方式中双重检测机制、静态内部类、枚举方式都是比较推荐。以上就是这篇文章的全部内容了希望能对铁子们有帮助和收获。如果觉得文章有用喜欢这篇文章的铁子们可以点点赞和关注也可以分享出去让更多的人看见一起努力一起进步 文章持续更新也可以评论出你想看哪一块技术。铁子们的支持是我的动力创作离不开铁子们的支持在此先感谢大家创作不易各位的支持和认可就是我创作的最大动力我们下篇文章见。© 著作权归作者所有,转载或内容合作请联系作者平台声明文章内容如有图片或视频亦包括在内由作者上传并发布文章内容仅代表作者本人观点简书系信息发布平台仅提供信息存储服务喜欢的朋友记得点赞、收藏、关注哦
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

常州网站制作推广seo刷词

PlayCover终极使用手册:在Mac上完美运行iOS应用的完整方案 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 想要在Apple Silicon Mac上畅玩原神、Minecraft等热门手游吗?PlayCov…

张小明 2026/3/5 5:54:25 网站建设

PHP网站开发都需要学什么江苏专业的网站建设

数据搜索与提取实用指南 在数据处理和管理中,搜索和提取数据是常见的操作。本文将介绍一些实用的命令和技术,帮助你高效地完成这些任务。 正则表达式基础 在匹配计算机主机名时,如 www.sybex.com ,需要对句点进行转义,写成 www\.sybex\.com 。扩展正则表达式提供了…

张小明 2026/3/5 5:54:17 网站建设

寿县有做网站开发的吗wordpress 注册 邮件

第一章:VSCode远程调试的文件同步在进行远程开发时,VSCode 通过 Remote-SSH、Remote-Containers 或 Remote-WSL 等扩展实现本地编辑与远程执行的无缝衔接。其中,文件同步是确保代码变更能即时反映在远程环境中的关键环节。VSCode 并不依赖传统…

张小明 2026/3/5 6:09:36 网站建设

一些做的好的网站砀山推广公司

20张图全面剖析 AI 大模型应用架构1、AI 大模型应用技术体系全景视图👇2、AI 大模型应用企业级开发知识体系👇3、AI 大模型技能知识地图👇4、AI 大模型应用企业落地混合架构设计👇5、面向过程的云原生架构设计 VS 面向目标的 AI …

张小明 2026/3/5 5:54:19 网站建设

php 网站开发流程图国外服务器购买

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于DBC文件的汽车诊断系统原型。系统能够读取标准DBC文件,实现以下功能:1) 解析故障码定义 2) 模拟ECU通信 3) 显示实时CAN报文数据 4) 提供简单的…

张小明 2026/3/5 5:54:22 网站建设

长沙网站优化自媒体平台注册下载

第32篇:不是信号就下单?99% 的量化亏在这里!教你用一招拒绝亏损买入,Freqtrade自动量化 在量化策略中,生成买入或卖出信号只是交易的第一步,真正执行交易还需要再经过多重检验。 Freqtrade 框架中提供了两…

张小明 2026/3/5 5:54:22 网站建设