内存 模式
单例设计模式
单例模式是一种常用的软件设计模式,其目标是确保一个类只有一个实例,并提供一个全局访问点。在C++中,可以通过以下步骤实现单例模式: 私有化构造函数,以防止外界创建单例类的对象。 使用类的私有静态指针变量指向类的唯一实例。 使用一个公有的静态方法获取该实例。 以下是一个简单的C++单例模式的实现示例: ......
c++ 程序的内存分配
C++程序在执行时,将内存大致分为以下几个区域: 栈:系统自动分配的空间,只要不特殊声明,就定义在栈区,函数的区域也在栈上。栈是向下增长的。(const 在栈里)堆:使用动态内存分配的方式可以申请堆空间,用完要手动释放。new malloc全局区:全局变量、静态变量(static),生命周期是程序整 ......
工厂模式 ---- 简单工厂模式和抽象工厂模式
简单工厂模式 /* * 简单工厂模式 * * 优点: 帮助封装 实现组件封装,面向接口编程 解耦合 客户端和具体实现类的解耦合 缺点: 可能增加客户端的复杂度 不方便扩展子工厂 */ #include <iostream> #include <string> using namespace std; ......
栈内存和堆内存概念、内存逃逸分析
为了让程序员更好地专注于业务代码的实现,Go 语言增加了垃圾回收机制,自动地回收不再使用的内存。Go 语言有两部分内存空间:栈内存和堆内存。 1. 栈内存栈只允许往线性表的一端放入数据,之后在这一端取出数据,按照后进先出(LIFO, Last In First Out )的顺序,如图所示。 往栈中放 ......
迭代器模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解迭代器模式的动机,掌握该模式的结构; 2、能够利用迭代器模式解决实际问题。 1. 搜集并掌握JAVA和C++中常见的数据结构和迭代器的使用方法,例如,vector, list, map和set等; Java PriorityQueue ......
中介者模式
[实验任务一]:虚拟聊天室 在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 新的具体聊天室中发送的图片大小不得超过20M。 新的具体聊天室中发送的文字长度不得超过100个字符。 新的具体会员类可以发送图片信息和文本信息。 新的具体会员类在发送文本信息时,可以在信息后加 ......
Linux手动清除内存命令的方法 cache文件清理
Linux长时间使用会导致cache缓存占用过大,甚至拖累CPU的使用率,可以通过命令手动释放Linux内存,详细教程如下: 一:先查看下当前Linux的内存占用情况 命令:free -m [root@linuxbaike ~]# free -m total used free shared buf ......
linux | free 命令获取的系统内存信息
root@echohye:~# free -h total used free shared buff/cache available Mem: 14Gi 5.5Gi 296Mi 152Mi 9.2Gi 9.0Gi Swap: 0B 0B 0B 下面是各列的解释: total: 总内存大小。在这个例 ......
Sentinel——pull模式规则持久化
目录pull模式规则持久化定义数据源定义SPI接口文件测试 pull模式规则持久化 pull 模式的数据源(如本地文件、RDBMS 等)一般是可写入的。使用时需要在客户端注册数据源:将对应的读数据源注册至对应的 RuleManager,将写数据源注册至 transport 的 WritableDat ......
GOF23--23种设计模式(二)
一.建造者模式 建造者模式也是属于建造型模式,它提供了一种创建对象的最佳方式 定义:将一个复杂的对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示 主要作用:在用户不知道对象的构建细节的情况下,就可以创建复杂的对象 这里需要注意一下,建造者模式都都是用来创建复杂对象的,如果对象很简单,直 ......
设计模式-结构性设计模式
分为6种结构性设计模式,适配器模式,桥接模式,组合模式,装饰模式,外观模式,享元模式,代理模式,结构性设计模式就比创建型设计模式复杂一些, 适配器设计模式:就是提供一个适配器,转接口的存在,有三个角色,目标类,适配器类,适配者类,有两种实现方式,类结构型和对象结构性,貌似这是唯一一个可以使用类结构性 ......
【Nginx/IIS】解决uniapp/Vue history模式下页面刷新404
uniapp/Vue 开启History模式 本地开发:二级页面刷新或者通过链接进入二级页面是正常的 打包部署后:二级页面刷新或者通过链接进入二级页面会报错404页面找不到 解决方案: Nginx配置: 在nginx.conf的对应location里配置一行代码 try_files $uri $ur ......
uml设计模式语言
UML(Unified Modeling Language)是一种广泛应用于软件开发和系统设计的建模语言。在软件工程中,UML图用于可视化、规划和共享系统设计的概念,其中类图是其中最核心、最常用的一种图示。本文将简述UML模型设计的基本概念,重点关注类图及其关系的详细解释。 1. UML概述: UM ......
观察者模式
观察者模式 1: 定义 观察者模式是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象 2: 示例 我们模拟下订单和支付的的动作,通过观察者模式实现 ......
[电脑装机] 内存篇
[装机 | 配置升级] 内存篇 内存也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。 一、部分内存参数 我们一般能在内存条(SDRAM)的标签上的可以看到型号和参数。型号是内存条厂商自己定义的,不同厂商的定义规则不一致, 一般可以通过型号识别内存参数;同时在内 ......
麒麟系统一直free命令看内存占用90%但是top命令看每个程序占用内存只有20%,怎么查找什么问题导致的这种情况
麒麟系统一直free命令看内存占用90%但是top命令看每个程序占用内存只有20%,怎么查找什么问题导致的这种情况 这种情况可能是因为 Linux 系统的内存管理机制导致的。free 命令和 top 命令使用不同的方式来报告内存使用情况,因此可能会看到不同的结果。 free 命令显示的内存使用情况包 ......
共享内存技术调研
共享内存技术调研 1. 研究目的 在调研仿真分布式解决方案时遇到一个问题,在服务器中不同软件之间如何高效的进行通讯,这里涉及到了不同的操作系统(windows和Linux),不同的使用功能(虚实融合,数字仿真),需求不同需要的信息传递效率要求不同,因此需要调研现有的技术,找到适合使用的方案。 2. ......
Windows 下部署Redis 主从模式+哨兵模式+JAVA连接方式
原文:Windows 下部署Redis 主从模式+哨兵模式+JAVA连接方式_java redis部署-CSDN博客 前言之前项目需求部署redis高可用,走了很多弯路以及相关配置来回折腾浪费了很多时间,特地记录下。 主从模式:实现多台redis实例进行服务运行,并且数据相互同步;哨兵模式:实现主服 ......
图形渲染内存系统分析
图形渲染内存系统分析 到目前为止,我们已经将内存系统视为一个大的字节阵列,这种抽象对于设计指令集、学习汇编语言,甚至对于设计具有复杂流水线的基本处理器来说,都已经足够好了。然而,从实际角度来看,这种抽象需要进一步重新定义,以设计一个快速内存系统。在前面章节介绍的基础流水线中,假设访问数据和指令内存需 ......
设计模式
1. 设计模式的概念在面向对象领域中的一个重要突破就是提出设计模式的概念。软件的设计模式是人们在长期的开发实践中总结的良好经验,他提供了一个简单、统一的描述方法,使人们可以复用这些软件设计方法、过程管理经验。2.设计模式的描述设计模式的概念是来自于建筑师Christopher Alexander提出 ......
BBED修改文件头,将ASM非归档模式下offline的数据文件改回online状态
1、故障概要 一套基于ASM的RAC数据库,处于非归档模式,现场人员误将其中的一个数据文件改成了offline状态,等到发现异常时,redo日志已经被覆盖,没有办法recover该数据文件。 本文主要记录测试环境模拟本故障,以及使用BBED修复的过程。 2、故障模拟及处理办法 (1)、准备环境,创建 ......
C++ 共享内存ShellCode跨进程传输
在计算机安全领域,ShellCode是一段用于利用系统漏洞或执行特定任务的机器码。为了增加攻击的难度,研究人员经常探索新的传递`ShellCode`的方式。本文介绍了一种使用共享内存的方法,通过该方法,两个本地进程可以相互传递ShellCode,从而实现一种巧妙的本地传输手段。如果你问我为何在本地了... ......
CentOS 7.9 安装后网络配置(NAT模式)
1.配置虚拟机NAT 信息 2.修改网卡信息 vim /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO 为static ONBOOT 为yes NATMASK 子网掩码 和虚拟机NAT的子网掩码一致 GATEWAY 网关 和虚拟机NAT的网关一 ......
软件设计模式的七大原则
1.单一职责原则 一个类应该有且仅有一个引起它变化的原因 例如 实现登录功能,不应该设计一个类,即负责数据库的连接,又负责页面的初始化,又负责数据的接收和处理 而应该把这些功能分开,分成多个不同的类,各司其职 2.开闭原则 一个软件实体应该对拓展开放对修改关闭,也就是说,当需要修改功能或者添加新的功 ......
DDR内存基础知识
一、DDR基础知识 1. 几个频率 (1) 核心频率:真实运行频率。 (2) 倍增系数:DDR通过数据预取技术放大速率,每代ddr倍率是固定的,ddr=2, ddr2=4, ddr3=8, ddr4=8, ddr5=16 (3) 有效频率;厂商标注的频率,可以理解为数据传输速率。厂商也想逐步淡化其它 ......
在中间件中使用 Scoped 模式服务
作用域(Scoped)服务和瞬时(Transient)服务都与请求的生命周期相关,但它们之间有一些区别。 1. 作用域(Scoped)服务: - 作用域服务的生命周期与每个请求的生命周期相对应。也就是说,每个请求都会创建一个作用域服务的实例,并且在请求处理过程结束时该实例将被释放。 - 作用域服务在 ......
VMware桥接模式设置Ubuntu 22固定IP
Ubuntu 22 桥接模式下面设置固定IP 1、进入netplan网络配置目录 cd /etc/netplan 修改 sudo vim 00-network-manager-all.yaml 我的文件是:01-network-manager-all.yaml 2、查看主机的网络信息 Windows ......
单例模式
创建单例模式 import threading import time class Singleton: instance = None # 加锁是为了当多线程调用时,防止出现多线程执行太快都去新建了一个对象,这就违背了单例模式的意义 lock = threading.RLock() def __i ......
深入理解和实现Qt中的单例模式
在Qt框架中,单例模式的实现是一个常见的需求,它有多种实现方式,每种都有其特点。以下是对这些方法的探讨,包括宏定义方式、模板类方式,以及Qt的内置单例宏,并附有具体的使用示例。 宏定义方式的单例模式 宏定义方式是一种传统且直接的实现单例模式的方法,但它可能导致代码重复和类型安全性问题。以下是一个宏定 ......