目录

  • 抽象工厂模式的定义
  • 抽象工厂模式的通用代码
  • 抽象工厂模式的应用场景
  • 抽象工厂模式的优缺点
  • 抽象工厂模式的经典应用
  • 工厂模式的比较
    • 工厂
    • 构建方法
    • 静态构建方法
    • 简单工厂模式
    • 工厂方法模式
    • 抽象工厂模式

抽象的科学含义是从众多事物中抽取出公共的本质的特征,而舍弃其非本质的特征的过程。从哲学的角度来说就是分析,综合,运用概念在人脑中再现对象本质的方法。似乎一个强调过程,一个强调方法;这些我们都不需要关心,我们的唯一视角就是:透过现象看本质。

今天介绍的抽象工厂模式和工厂方法模式有异曲同工之妙,可以说抽象工厂模式是工厂方法模式的升级版本。

抽象工厂模式的定义

官方定义:为创建一组相关或相互依赖的对象提供接口,而无须指定它们的具体类。
通俗释义:相似的或者相同的对象,应该都实现一个公共的抽象接口,调用方只关心接口,而不需要知道具体实现。
抽象工厂模式通用类图
通过上面的定义和通用类图,我们可以知道,具体的事物或者对象都应该具有其抽象本质,而我们分析,综合提取出公共本质特征的过程就是抽象工厂模式需要做的事儿,也就是站在上帝视角看问题。

抽象工厂模式的通用代码

/*** @Description:抽象工厂,指定创建产品簇*/
public abstract class AbstractFactory {//创建产品Apublic abstract AbstractProduct createProductA();//创建产品Bpublic abstract AbstractProduct createProductB();
}
/*** @Description:代理工厂创建产品对象*/
public class ConcreateFactory extends AbstractFactory{@Overridepublic AbstractProduct createProductA() {return new ConcreateProductA();}@Overridepublic AbstractProduct createProductB() {return new ConcreateProductB();}
}/*** @Description:定义公共抽象产品*/
public abstract class AbstractProduct {//抽象接口定义public abstract void createProduct();//通用公共代码public void otherMethod(){//do something}
}/*** @Description:具体产品A类*/
public class ConcreateProductA extends AbstractProduct {@Overridepublic void createProduct() {//产品A逻辑}
}/*** @Description:具体产品B类*/
public class ConcreateProductB extends AbstractProduct {@Overridepublic void createProduct() {//产品B逻辑}
}
/*** @Description:上帝视角*/
public class GodClient {public static void main(String[] args) {//指定代理工厂AbstractFactory factory = new ConcreateFactory();//创建产品对象AbstractProduct productA = factory.createProductA();AbstractProduct productB = factory.createProductB();//实现产品逻辑productA.createProduct();productB.createProduct();}
}

以上就是抽象工厂模式的通用代码,可以进行扩展,比如增加一个产品C,则改动点,可想而知。

抽象工厂模式的应用场景

1.由定义可知,抽象工厂模式是为了解决一个产品簇的问题,也就是说,一个对象簇或者一类相互约束的对象,都可以有相同的约束和抽象,就可使用抽象工厂模式进行设计。
2.定义了一组抽象方法类,但是具体的功能还不太明确的情况下,可以使用抽象工厂模式,也就是先将框架抽象出来,再进行具体细节的创造实现。

抽象工厂模式的优缺点

优点
1.封装性。关心接口而非实现。产品由工厂类负责创建,所以产品创建只需要知道哪个工厂类就可以创建产品。
2.内聚性。也就是所有的产品都有自己实现的细节,每个工厂类创建具体的产品。细节上实现内聚,将交互放在抽象层面。
缺点
抽象工厂模式最大的且最致命的确定就是产品族的扩展非常难。比如说要增加一个产品,看看我们的程序改动地方都有哪些,改动是非常大的,这就违反了开闭原则,有些文章中又说是符合开闭原则的,因为针对客户端是是符合开闭原则的,再此不做深究。

抽象工厂模式的经典应用

抽象工厂在Java代码中也比较常见,例如我们熟知的数据库连接对象java.sql.Connection,java.sql.Statement,java.sql.ResultSet;以及xml包下的一些类,比如:javax.xml.parsers.DocumentBuilderFactory,javax.xml.transform.TransformerFactory等,有兴趣可深入研究一波,加深对抽象工厂模式的理解和运用。

工厂模式的比较

在这里有必要对一些概念进行一个澄清,尽管看上去颇为相似,但是每个概念所代表的的含义都不尽相同,通过比较说明这些差异,不会在概念上出现混淆和误解。以下的内容参考:https://refactoringguru.cn/design-patterns/factory-comparison

工厂

工厂是一个含义模糊的术语,在此表示技术意义上的概念, 表示可以创建一些东西的函数、 方法或类。 最常见的情况下, 工厂创建的是对象。 但是它们也可以创建文件和数据库记录等其他东西。

例如, 下面这些东西都可以非正式地被称为 “工厂”:

  • 创建程序 GUI 的函数或方法;
  • 创建用户的类;
  • 以特定方式调用类构造函数的静态方法。
  • 一种创建型设计模式。

当某人说到 “工厂” 这个词时, 其具体含义通常可以根据上下文来确定。 但如果你有疑问, 可以直接提问。 毕竟作者本人有时候也没有搞清楚。

构建方法

构建方法在 《重构与模式》 中被定义为 “创建对象的方法”。 这意味着每个工厂方法模式的结果都是 “构建方法”, 但反过来则并非如此。 这也意味着你可以用 “构建方法” 来替代马丁·福勒在重构中使用的 “工厂方法” 和乔斯华·布洛克在 《Effective Java》 中使用的 “静态工厂方法”。

在实际中, 构建方法只是构造函数调用的封装器。 它可能只是一个能更好地表达意图的名称。 此外, 它可以让你的代码独立于构造函数的改动, 甚至还可以包含一些特殊的逻辑, 返回已有对象以而不是创建新对象。

许多人会仅仅因为这些方法创建了新对象而称之为 “工厂方法”。 其中的逻辑很直接: 所有的工厂都会创建对象, 而该方法会创建对象, 所以显然它是一个工厂方法。 当遇到真正的工厂方法时, 这自然会造成许多混淆。

/*** @Description:next构建方法*/
public class Number {private int value;public Number(int value) {this.value = value;}public Number next(){return new Number(value + 1);}
}

静态构建方法

静态构建方法是被声明为 static的构建方法。 换句话说, 你无需创建对象就能在某个类上调用该方法。

不要因为某些人将这些方法称为 “静态工厂方法” 而被其迷惑。 这种称呼只是一个坏习惯。 工厂方法是一种依赖于继承的设计模式。 如果将它设置为 static , 你就不能在子类中对其进行扩展, 这就破坏了该模式的目的。
当静态构建方法返回一个新对象时, 它就成为了构造函数的替代品。

在下列情况中, 这可能会非常实用:
你必须针对不同的目的提供多个不同的构造函数, 但是其签名相同时。 例如, 在 Java、 C++、 C# 以及其他许多语言中不可能同时存在 Random­(int max) 和 Random­(int min) 函数。 最常用的变通方式是创建多个调用默认构造函数的静态方法, 并于稍后再设置适当的数值。

你希望复用已有对象而不是初始化新对象时 (参考单例模式)。 绝大多数编程语言的构造函数必须都返回一个新的类实例。 静态构建方法是应对该限制的变通方法。 在静态方法内部, 你的代码会决定是调用构造函数创建一个全新实例, 还是返回一个在缓存中已有的对象。

/*** @Author: Max* @Date: 2020-09-06 10:34* @Description:静态构建方法示例*/
public class AdminUser extends User{private Long id;private String name;public AdminUser(Long id,String name){this.id = id;this.name = name;}public static AdminUser load(Long id){AdminUser adminUser = queryCacheById(id);return adminUser;}
}

简单工厂模式

简单工厂模式 描述了一个类,它拥有一个包含大量条件语句的构建方法, 可根据方法的参数来选择对何种产品进行初始化并将其返回。

人们通常会将简单工厂与普通的工厂或其它创建型设计模式混淆。 在绝大多数情况下, 简单工厂是引入工厂方法抽象工厂模式时的一个中间步骤

简单工厂通常没有子类。 但当从一个简单工厂中抽取出子类后, 它看上去就会更像经典的工厂方法模式了。
顺便提一句, 如果你将一个简单工厂声明为 abstract 类型, 它并不会神奇地变成抽象工厂模式。
这里给出一个简单工厂的例子:

public class UserFactory {public static User create(int type) throws Exception{switch (type){case 1:return new AdminUser();case 2:return new CustomerUser();case 3:return new xiaoerUser();default: throw new Exception("用户类型错误");}}
}

工厂方法模式

工厂方法是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。
如果在基类及其扩展的子类中都有一个构建方法的话, 那它可能就是工厂方法。具体参考工厂模式。

抽象工厂模式

抽象工厂是一种创建型设计模式, 它能创建一系列相关或相互依赖的对象, 而无需指定其具体类。

什么是 “系列对象”? 例如有这样一组的对象: ​ 运输工具 + 引擎 + 控制器 。 它可能会有几个变体:

  1. 汽车 + 内燃机 + 方向盘
  2. 飞机 + 喷气式发动机 + 操纵杆

如果你的程序中并不涉及产品系列的话, 那就不需要抽象工厂。
再次重申, 许多人分不清抽象工厂模式和声明为 abstract 的简单工厂。 不要犯这个错误!

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

相关文章

  1. 操作系统实验 - 题目一 进程创建模拟实现

    1.1 题目的主要研究内容及预期达到的目标 【设计目的】 (1)理解进程创建相关理论。 (2)掌握进程创建方法。 (3)掌握进程相关数据结构。 【课题描述】 本课题针对操作系统中进程的创建相关理论进行设计。要求编写程序并进行测试。代码简化了进程创建的多个步骤和内容。进…...

    2024/4/27 20:50:20
  2. Linux企业实战-----Docker的安装、镜像构建与优化、dockerfile详解

    目录1.docker的介绍2.Docker的安装3.镜像构建3.1 docker commit(不推荐)3.2 Dockerfile 方式( 推荐!!)4.dockerfile 详解4.1 COPY(拷贝本机文件到容器):4.2 ADD(拷贝的同时解压文件):4.3VOLUME(数据卷)4.4 WORKDIR置在镜像中的工作目录1.dockerfile的shell 格式+ENTRYPOI…...

    2024/4/22 4:12:24
  3. arm汇编之ldr,str执行方向,msr和mrs简介

    ldr 加载指令/ 伪指令指令相当于C中的指针,方向是从右到左ldr r0, =lable 是让r0指到label地址,存储的是label地址(加载指令)。 ldr r0, lable,相当于r0 = *(lable) 存储的是lable地址总的值(伪指令)。记住和mov的区别, mov一般操作寄存器和立即数,可以把寄存器的值和立…...

    2024/4/26 12:27:29
  4. 从模板引擎到前后端分离-Vue

    从模板引擎到前后端分离-Vue 电脑需要先安装Git和Node.js 安装成功后,在系统变量里的path中会有如下的配置从https://gitee.com网站上创建自己的仓库Idea中要安装相应的插件 打开Files->Settings->Plugins 找到Vue.js和Gitee两个插件并安装上去在idea上登录自己的gitee账…...

    2024/4/24 1:20:07
  5. 飞机动力学模型推导

    飞机动力学模型推导 针对最一般刚性假设下飞机动力学模型进行推导,未进行线性化处理 1. 坐标系 包含地轴系、体轴系、航迹轴系、气流轴系等 ,详见航空飞行动力学一书,此处不予赘述。 2.基本假设 关于地球基本假设: 1、略去地球旋转运动和地心的曲面运动产生的加速度影响。 …...

    2024/4/21 11:24:36
  6. PinPoint调研

    PinPoint简介何为pinpoint: pinpoint是一个分析大型分布式系统的平台,提供解决方案来处理海量跟踪数据,主要面向基于tomcat的Java 应用。为何使用它:和如今相比, 过去的因特网的用户数量相对较小,而因特网服务的架构也没那么复杂。web服务通常使用两层(web 服务器和数据库…...

    2024/3/25 12:01:32
  7. 动态规划——硬币找零问题(附Java代码)

    问题描述现在有3种硬币分别为:1元,5元,10元,现在给你63元,让你全部换成硬币,求出最小硬币数量,也就是说,怎么用最少的硬币数凑成63元。分析问题解决这个问题,我们可以将这个大问题分成若干个小问题,自下而上解决问题。1元对应的最小硬币数是12元对应的最小硬币数是23…...

    2024/4/26 7:38:02
  8. [spring基础] 1. 理解SpringIOC思想

    IOC是与AOP齐名,作为spring的重要特性之一,必知必会,如果你以前和我一样只是胡乱用过,现在,是时候展现真正的技术了,一起学习下: 一、如何理解 我们要来简要的看下spring官网对IOC的一些描述:IoC is also known as dependency injection (DI). It is a process whereby…...

    2024/4/11 22:33:36
  9. OPEN AI LAB & 湛江湾实验室:美美“渔”共,携手共创智慧渔业

    当前,我国渔业信息化建设已经进入了一个快速发展的阶段,逐渐由注重产量增长转到注重质量效益、注重资源利用转到注重生态环境保护、注重物质投入转到注重生产力、生产关系变革上来。创新理念需要前沿科技支撑,智慧渔业和成千上万个“智慧+”行业一样,乘着AI浪潮,走进了大众…...

    2024/4/19 2:03:33
  10. 迷途,随笔

    很久没有打开博客了,最后一次写博客,大概是在八月份吧,那时候,秋招还未开始,提前批已经悄然拉开的帷幕,还记得自己当时的模样,充满希望,充满期待,真是一个元气满满的美少女呢,可是,到现在,我似乎迷茫了。 这段时间,发生了太多事情,一言难尽吧,我是多么阳光的一个…...

    2024/4/20 6:39:20
  11. web安全[网易白帽子课程笔记+体会]-04WEB安全实战

    web安全-04WEB安全实战一、DVWA部署1、打造firefox渗透测试神器2、部署web服务器环境3、部署web渗透测试环境DVWA二、暴力破解1、概述2、手工实战2.1 登录dvwa进入brute force模块2.2 确认破解动作2.3 确认破解结果2.4 确认破解范围2.5 开始暴力破解3、自动实战3.1 安装代理软件…...

    2024/4/2 16:33:40
  12. ProcessOn 在线作图,真香指南

    你还在为没有破解Visio而烦恼?因为准备PPT画图毫无头绪?来看看一款在线产品ProcessOn 轻松制作流程图、思维导图、UI、UML等类型作图。登录模块登录模块比较清爽,且支持微信 QQ 微博 Google第三方平台登录,方便。首页登录之后,是个人模块,左侧功能栏有文件管理,中间是文…...

    2024/3/25 12:11:13
  13. 华为iot基于arm使用温湿度传感器

    用之前的温湿度模块和iot平台的经验 引脚口使用 gpioB29 也就是简单的一根线进行连接,请搭配本人其他文章[配套使用 dht11drv.c #include<linux/module.h> #include <linux/sched.h> #include <linux/delay.h> #include <linux/platform_device.h> #i…...

    2024/4/24 22:21:19
  14. lego-loam阅读理解笔记 二

    前言featureAssociation.cpp主要实现点云相对于IMU的坐标变换,特征提取,特征匹配等功能一、runFeatureAssociation()解读该函数是整个cpp的主要功能函数void runFeatureAssociation(){//没有新的数据来,就不处理if (newSegmentedCloud && newSegmentedCloudInfo &am…...

    2024/4/27 14:07:37
  15. leetcode-第11题 盛最多水的容器

    题目:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂…...

    2024/4/20 15:01:53
  16. 跨站点脚本 (XSS)

    跨站点脚本 (XSS)跨站点脚本 (XSS) 是客户端代码注入攻击。攻击者旨在通过在合法的网页或 Web 应用程序中包含恶意代码,在受害者的 Web 浏览器中执行恶意脚本。当受害者访问执行恶意代码的网页或 Web 应用程序时,将发生实际攻击。网页或 Web 应用程序成为向用户浏览器传递…...

    2024/4/24 20:51:16
  17. 让模态浮出水面的S2 刘易斯逻辑之八

    标题 让模态浮出水面的S2 刘易斯逻辑之八 这个S2,大概可以让我们对模态逻辑有点感觉了。刘易斯的S1,虽然把“可能”作为它的初始符号,但直到接近S1尾声的时候才付诸讨论。当他把那个一致性公设放进他的S1的时候,S1就不能称作S1,而应该称作他命名的S2了。因为S1包括不了这…...

    2024/4/2 16:56:27
  18. 虚拟机(vmware)下如何安装linux操作系统

    1.安装vmware软件下载VMware软件VMware-workstation-full-11.0.0-2305329keygen vm11先安装vmware程序,安装完后先不要启动,再安装破解补丁2.验证VMWARE是否安装成功(有些机器在安装vmware的时候会出现一个错误:virtual XT,这需要重启电脑<按F2/按DELET/.........>进…...

    2024/4/2 21:01:01
  19. jar中没有主清单属性【解决办法】

    <main><script type="text/javascript"> var blogSensitiveWords = "";jar中没有主清单属性【解决办法】</div><div class="up-time"><span>最后发布:2020-03-25 11:07:40</span><span>首次发布:20…...

    2024/4/13 3:55:47
  20. 【CV-Paper 12】图像分割 01:FCN-2014

    论文原文:点击此处 论文下载:点击此处 论文被引:14541 论文年份:2014 论文代码:点击此处顾名思义,fully convolutional networks 就是全卷积网络,那么它与传统的神经网络架构有什么区别?没有全连接层,只有卷积层,有时还有池化层组成; 输入图像,输出也是图像,而不是…...

    2024/3/31 2:31:16

最新文章

  1. 检测水箱水位传感器有哪些?

    生活中很多家电中都内含一个水箱&#xff0c;例如电蒸锅、饮水机、蒸汽熨斗、咖啡机等等&#xff0c;这些内部都有水箱&#xff0c;或大或小。当然水箱也有很多种类型&#xff0c;例如生活水箱、生产水箱、消防水箱等等。 把水储存在水箱中也会遇到这些问题&#xff0c;水箱没…...

    2024/4/27 21:18:55
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 如何判断服务器的线路

    相信大部分朋友都知道&#xff0c;CN2是中国电信第二代的骨干网络&#xff0c;因此在网络连接速度和稳定性上远胜于老线路。那么如何判断 自己的服务器是否CN2线路呢﹖另外&#xff0c;单程CN2跟双程CN2又是什么意思?如何区分呢? 下面我们首先解释一下什么是单程CN2和双程CN…...

    2024/4/25 2:14:57
  4. 鹅厂实习offer

    #转眼已经银四了&#xff0c;你收到offer了吗# 本来都打算四月再投实习了&#xff0c;突然三月初被wxg捞了&#xff08;一年前找日常实习投的简历就更新了下&#xff09;&#xff0c;直接冲了&#xff0c;流程持续二十多天&#xff0c;结果是运气还不错&#xff0c;应该是部门比…...

    2024/4/23 6:25:31
  5. promise.all方式使用

    romise.all( ).then( ) 处理多个异步任务&#xff0c;且所有的异步任务都得到结果时的情况。 比如&#xff1a;用户点击按钮&#xff0c;会弹出一个弹出对话框&#xff0c;对话框中有两部分数据呈现&#xff0c;这两部分数据分别是不同的后端接口获取的数据。 弹框弹出后的初…...

    2024/4/27 7:08:50
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/27 1:53:53
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/27 3:39:11
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/27 12:24:35
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/27 12:24:46
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/27 3:39:08
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/27 3:39:07
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/27 3:39:07
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/27 12:44:49
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/27 21:08:20
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/26 22:35:59
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/27 18:40:35
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/27 3:39:03
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/27 13:52:15
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/27 13:38:13
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/27 1:03:20
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/27 3:22:12
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/26 21:29:56
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/27 3:39:00
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/26 23:53:24
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/27 20:28:35
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57