利用高权重网站做关键词网站内容策略

pingmian/2025/10/12 22:38:32/文章来源:
利用高权重网站做关键词,网站内容策略,国际国内热点新闻事件,滕州市做淘宝网站的一篇博客读懂设计模式之---单例模式 一。 单例模式 单例对象#xff08;Singleton#xff09;是一种常用的设计模式。在Java应用中#xff0c;单例对象能保证在一个JVM中#xff0c;该对象只有一个实例存在。这样的模式有几个好处#xff1a; 1、某些类创建比较频繁Singleton是一种常用的设计模式。在Java应用中单例对象能保证在一个JVM中该对象只有一个实例存在。这样的模式有几个好处 1、某些类创建比较频繁对于一些大型的对象这是一笔很大的系统开销。 2、省去了new操作符降低了系统内存的使用频率减轻GC压力。 3、有些类如交易所的核心交易引擎控制着交易流程如果该类可以创建多个的话系统完全乱了。所以只有使用单例模式才能保证核心交易服务器独立控制整个流程。 总体来说单例模式应用的场景一般发现在以下条件下 1资源共享的情况下避免由于资源操作时导致的性能或损耗等。如日志文件应用配置。 2控制资源的情况下方便资源之间的互相通信。如线程池等。 有以下的特点eg。每台计算机可以有若干通信端口系统应当集中管理这些通信端口以避免一个通信端口同时被两个请求同时调用。为了避免不一致状态 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 优缺点 优点 频繁new同一个    1.在单例模式中活动的单例只有一个实例对单例类的所有实例化得到的都是相同的一个实例。这样就 防止其它对象对自己的实例化确保所有的对象都访问一个实例     2.单例模式具有一定的伸缩性类自己来控制实例化进程类就在改变实例化进程上有相应的伸缩性。     3.提供了对唯一实例的受控访问。     4.由于在系统内存中只存在一个对象因此可以 节约系统资源当 需要频繁创建和销毁的对象时单例模式无疑可以提高系统的性能。     5.允许可变数目的实例。  6.避免对共享资源的多重占用。 缺点 保存状态扩展职责    1.不适用于变化的对象如果同一类型的对象总是要在不同的用例场景发生变化单例就会引起数据的错误不能保存彼此的状态。     2.由于单例模式中没有抽象层因此单例类的扩展有很大的困难。     3.单例类的职责过重在一定程度上违背了“单一职责原则”。  4.滥用单例将带来一些负面问题如为了节省资源将数据库连接池对象设计为的单例类可能会导致共享连接池对象的程序过多而出现连接池溢出如果实例化的对象长时间不被利用系统会认为是垃圾而被回收这将导致对象状态的丢失。 1*懒汉式单例Singleton通过将构造方法限定为private避免了类在外部被实例化在同一个虚拟机范围内Singleton的唯一实例只能通过getInstance()方法访问。 ps以上懒汉式单例的实现没有考虑线程安全问题它是线程不安全的并发环境下很可能出现多个Singleton实例要实现线程安全有以下三种方式都是对getInstance这个方法改造保证了懒汉式单例的线程安全 //懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton1 {//1、第一步先将构造方法私有化private Singleton1(){}//2、然后声明一个静态变量保存单例的引用private static Singleton1 single null;//3、通过提供一个静态方法来获得单例的引用//不安全的public static Singleton1 getInstance(){if (single null){single new Singleton1();}return single;} } //懒汉式单例.保证线程安全 public class Singleton2 {//1、第一步先将构造方法私有化private Singleton2(){}//2、然后声明一个静态变量保存单例的引用private static Singleton2 single null;//3、通过提供一个静态方法来获得单例的引用//为了保证多线程环境下正确访问给方法加上同步锁synchronized//慎用 synchronized 关键字阻塞性能非常低下的//加上synchronized关键字以后对于getInstance()方法来说它始终单线程来访问//没有充分利用上我们的计算机资源造成资源的浪费public static synchronized Singleton2 getInstance(){if(single null){single new Singleton2();}return single;} } //懒汉式单例.双重锁检查 public class Singleton3 {//1、第一步先将构造方法私有化private Singleton3(){}//2、然后声明一个静态变量保存单例的引用private static Singleton3 single null;//3、通过提供一个静态方法来获得单例的引用//为了保证多线程环境下的另一种实现方式双重锁检查//性能第一次的时候public static Singleton3 getInstance(){synchronized (Singleton3.class){if (single null){single new Singleton3();}return single;}} } 2*饿汉式单例饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用以后不再改变所以天生是线程安全的。 public class Singleton4 {/*** 懒汉式单例* 最常用的一种模式就是这种*///1. 私有化构造器//相当于有一个默认的public的无参的构造方法就意味着在代码中随时都可以new出来private Singleton4(){}//2. 生成一个静态内部构造类//private 私有的保证别人不能修改//static 保证全局唯一private static class LazyLoader{//final 为了防止内部误操作代理模式GgLib的代理模式//静态内部类是为了防止反射获取属性private static final Singleton4 INSTANCE new Singleton4();}//3、同样提供静态方法获取实例//final 确保别人不能覆盖public static Singleton4 getInstance(){//【静态方法】中的逻辑是要在用户调用的时候才开始执行的//方法中实现逻辑需要分配内存也是调用时才分配的//【区别】与静态块的最大区别return LazyLoader.INSTANCE;} } 还有一种注册式 //类似Spring里面的方法将类名注册下次从里面直接获取。 public class Singleton5 {private static MapString,Singleton5 map new HashMap();static {Singleton5 single new Singleton5();map.put(single.getClass().getName(), single);}//静态工厂方法,返还此类惟一的实例private Singleton5(){}public static Singleton5 getInstance(String name) throws ClassNotFoundException {if(name null){name Singleton5.class.getName();}if(map.get(name) null){try{map.put(name,(Singleton5)Class.forName(name).newInstance());} catch (IllegalAccessException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();}}return map.get(name);} } 3 饿汉式和懒汉式区别重点 从名字上来说饿汉和懒汉 饿汉就是类一旦加载就把单例初始化完成保证getInstance的时候单例是已经存在的了 而懒汉比较懒只有当调用getInstance的时候才回去初始化这个单例。 另外从以下两点再区分以下这两种方式 1、线程安全 饿汉式天生就是线程安全的可以直接用于多线程而不会出现问题 懒汉式本身是非线程安全的为了实现线程安全有几种写法分别是下面的1、2、3这三种实现在资源加载和性能方面有些区别。 2、资源加载和性能 饿汉式在类创建的同时就实例化一个静态对象出来不管之后会不会使用这个单例都会占据一定的内存但是相应的在第一次调用时速度也会更快因为其资源已经初始化完成 而懒汉式顾名思义会延迟加载在第一次使用该单例的时候才会实例化对象出来第一次调用时要做初始化如果要做的工作比较多性能上会有些延迟之后就和饿汉式一样了。 1. 在getInstance方法上加同步 2. 双重检查锁定 3. 静态内部类 span stylecolor:#3333ffpublic class Singleton { private static class LazyHolder { private static final Singleton INSTANCE new Singleton(); } private Singleton (){} public static final Singleton getInstance() { return LazyHolder.INSTANCE; } } /span 至于1、2、3这三种实现又有些区别 第1种在方法调用上加了同步虽然线程安全了但是每次都要同步会影响性能毕竟99%的情况下是不需要同步的 第2种在getInstance中做了两次null检查确保了只有第一次调用单例的时候才会做同步这样也是线程安全的同时避免了每次都同步的性能损耗 第3种利用了classloader的机制来保证初始化instance时只有一个线程所以也是线程安全的同时没有性能损耗所以一般我倾向于使用这一种。 线程安全一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题那就是线程安全的。 以下是一个单例类使用的例子以懒汉式为例这里为了保证线程安全使用了双重检查锁定的方式public String getName() { return name; } public void setName(String name) { this.name name; } public void printInfo() { System.out.println(the name is name); } } public class TMain { public static void main(String[] args){ TestStream ts1 TestSingleton.getInstance(); ts1.setName(jason); TestStream ts2 TestSingleton.getInstance(); ts2.setName(0539); ts1.printInfo(); ts2.printInfo(); if(ts1 ts2){ System.out.println(创建的是同一个实例); }else{ System.out.println(创建的不是同一个实例); } } } 结论由结果可以得知单例模式为一个面向对象的应用程序提供了对象惟一的访问点不管它实现何种功能整个应用程序都会同享一个实例对象。 对于单例模式的几种实现方式知道饿汉式和懒汉式的区别线程安全资源加载的时机还有懒汉式为了实现线程安全的3种方式的细微差别。

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

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

相关文章

重庆名威建设工程咨询有限公司网站做网站大概价格

目录 专栏导读 1 GUI 编程概述 1.1 为什么需要GUI? 1.2 常见的GUI编程工具和库 1.3 GUI应用程序的组成和架构 2 使用Tkinter 库 进行GUI编程 2.1 使用Tkinter库进行GUI编程的基本流程 2.2 使用Tkinter库进行GUI编程 2.2.1 导入Tkinter库 2.2.2 添加标签和…

设计师接私单做网站微信公众号推广链接

概述 Zephyr OS 是一个占用空间小的内核,用于资源受限的嵌入式系统:从简单的嵌入式环境传感器、LED 可穿戴设备到复杂的嵌入式控制器、智能手表和物联网无线应用。 Zephyr 内核支持多种架构,包括: ARCv2 (EM and HS) and ARCv3…

湖南产品网络推广业务seo是什么意思蜘蛛屯

launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象&…

怎样做_网站做seo深圳官方宣布解封时间

前言:我的最终目的是为了在QQ上集成一个AI机器人,因此在这里先实现一个简单的集成 先上效果图 总体还是很简单的,我在调用websock获取回复内容的基础上另外集成了一个事件总线,让我们在调用获取消息的时候能够更加方便快捷 工具代…

做外贸网络推广网站做国外贸易的网站

技巧:最后得到的是终结符组成的闭包 例题: 文法G[S]: S-->AB A-->aAb|ab B-->Bc|,求对应的语言 ①S-->(aAb|ab)(Bc|) ②我们可以观察到,无论A-->aAb还是A-->ab,都一定会同时出现ab,…

德阳高端网站建设电子商务和网站建设论文

学习上一篇文章之后,确定好JDK和环境变量都成功之后,我们来编写我们第一个java程序命名为HelloWorld.java。上一篇文章链接:JDK下载与环境变量的安装桌面上右击,新建一个文本文档用记事本打开文本文档编写如上图代码,注…

网站建设与管理专业实训室无锡网站制作推荐

Vue3i18n多语言动态国际化设置 前言一、 i18n 介绍二、插件安装三、i18n配置3.1 创建i18n对应文件夹/文件3.2 en-US.js3.3 zh-CN.js3.4 index.js 四、 mian.js 引入 i18n配置文件五、 组件内使用六、使用效果 前言 继续【如何给自己的网站添加中英文切换】一文之后&#xff0c…

织梦网站新闻列表调用商城手机网站制作

复原IP 地址 力扣原题链接 问题描述 有效 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是有效 IP 地址&#xff0c…

湖南建网站公司外贸营销网站建设工程

参考博客的解决方案: https://www.jianshu.com/p/148cf8c9571d 思路:通过活动监视器找到Microsoft word的程序启动地址,在前往-前往文件夹中输入地址,到程序所在的文件夹,双击启动一个新的word程序,将当前…

怎么自己做微网站吗做化妆品注册和注册的网站吗

测试覆盖率通常被用来衡量测试的充分性和完整性,从广义的角度来讲,测试覆盖率主要分为两大类,一类是面向项目的需求覆盖率,另一类是更偏向技术的代码覆盖率。 需求覆盖率 需求覆盖率是指测试对需求的覆盖程度,通常的做…

北京保障房建设网站网站做下载word

文章目录1. 题目信息2. 思路3. 代码1. 题目信息 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例:输入: [1->4->5,1->3->4,2->6 ] 输出: 1->1->2->3->4->4->5->6来源:力扣(…

海尔建设网站的目的企业网站优化培训

前言 (1)我能够正常访问GitHub,但是每次将代码提交到GitHub常常显示网络超时。这是因为提交是走的国内的网络,对GitHub访问会被进行限速。 (2)为了让小乌龟也拥有魔法,我们可以使用代理工具。注…

国外网站赏析android 不装插件 wordpress

requests.get 是 Python 中 requests 库的一个方法,用于发送 GET 请求。它有许多参数可以配置,以下是一些常见的参数: url:指定要发送 GET 请求的 URL。params:可选参数,用于向请求添加 URL 参数。data&…

网站与平台的开发区别网站备案 接电话

目录 题目解题思路具体代码题目 题目链接剑指offer:二维数组中的查找题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数&a…

网站建设 请示网站弹出广告gif出处

基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于乌燕鸥算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.乌燕鸥优化BP神经网络2.1 BP神经网络参数设置2.2 乌燕鸥算法应用 4.测试结果:5.Matlab代…

最好网站建设制作是那个网站网页优化

目录 Ribbon 简介 负载均衡 简介 负载均衡方式 服务端负载均衡 工作原理 特点 客户端负载均衡 工作原理 特点 对比 实现 负载均衡策略 切换负载均衡策略 定制负载均衡策略 超时与重试 单个服务配置 全局配置 服务调用 示例 Ribbon 简介 Ribbon 是 Netfli…

网站开发需要看什么书彭阳门户网站建设

一、背景与目标 随着新媒体的快速发展,营销人才需求旺盛,而具备新媒体营销能力的人才供给却相对不足。为了解决这一矛盾,本方案旨在构建一个新媒体营销教学模拟实训平台,帮助学生掌握新媒体营销的实际操作技能,提高就…

天津 网站建设家庭宽带做网站服务器吗

导读:本期主要介绍永磁同步电机复矢量电流调节器。针对内置式永磁同步电机d、q轴电流存在动态耦合的问题,在基于有效磁链概念得到IPMSM的复矢量数学模型,设计出相应的复矢量电流调节器,实现了d、q轴电流的动态解耦。通过仿真验证所…

中国建设银行官网的网站首页dw2021网页设计教程

一、简介 组合式api 1、 setup&#xff08;&#xff09; 组合式api的入口页面启动后&#xff0c;第一个自动执行的函数定义项目中所有的变量、方法所有的变量和方法&#xff0c;只有return出去&#xff0c;在页面视图中正常使用<template><!-- v-text的简写-->…

网站建设报告书范文可以做动效的网站

文章目录 预定义宏_ _func_ _是C语言的预定义标识符 #line和#error#pragma泛型选择&#xff08;C11&#xff09;参考 预定义宏 C标准规定了一些预定义宏&#xff1a; _ _func_ _是C语言的预定义标识符 C99 标准提供一个名为_ _func_ _的预定义标识符&#xff0c;它展开为一…