内存 模式

代理模式

用一个代理类将被代理类和别的类分离开,外面的类想访问被代理的类,要走代理类中转。 为什么要控制对对象的访问? 一方面,为了节约资源。站在迪米特法则的角度看,如果对于一个非常耗资源的大型对象,如果所有的客户端不管是否使用都去初始化这个对象其实是非常耗资源的。 另一方面,为了系统安全。假设我没有一个可以 ......
模式

设计模式:程序员的秘密武器(高手必备)

在过去的几十年的职业生涯中,我观察到许多同事在技术方面取得了显著的进步和能力提升。然而,随着时间的推移,他们似乎逐渐遇到了一个发展的瓶颈。尽管大家都渴望以最快的速度提升自己的技能水平,但他们忽视了一个关键的因素,那就是内功修炼。 是的,我相信大家都知道我们所说的内功心法指的是《设计模式》。接下来,我 ......
设计模式 程序员 武器 秘密 模式

K8s 里如何优雅地使用 /dev/shm 实现容器间共享内存

目录1. 从 docker run 的 --shm-size 参数聊起2. Linux 里的 /dev/shm3. Docker 对共享内存的支持4. K8s 里如何设置 /dev/shm 大小4.1 方案一:修改节点的 Docker 配置4.2 方案二:通过 Volume 挂载一个大目录到 Pod ......
容器 内存 K8s dev shm

观察者模式

观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应,所以也被称作“发布-订阅模式”。 示例代码 /** * @author Created by njy on 2023/6/1 * 报纸接口,即被观察者接口 */public i ......
观察者 模式

进程间通信:共享内存区

一、共享内存区 所谓共享内存区,即程序通过固定大小的物理存储链接到本地内存中,这种IPC形式是最快的。管道、FIFO和消息队列的问题在于,两个进程要交换信息时,这些信息必须由内核传递。 共享内存区示意图: 共享内存区的限制: 二、Posix 共享内存区 基于Posix 共享内存区的生产者--消费者实 ......
进程 内存

迭代器模式

迭代器提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 迭代器模式有两个角色,一个是迭代器,一个是聚合器,Java或则c#中的Collection,List,Set,Map就是聚合 ......
模式

状态模式

[实验任务一]:银行账户 用Java代码模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 1. 提交源代码 2. public class Account 3. { 4. private int userID;//账号 5. private ......
状态 模式

备忘录模式

[实验任务一]:多次撤销 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。 1. 提交源代码 2. package xuni; import java.util.ArrayList; import java.util.L ......
备忘录 模式

观察者模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解观察者模式的动机,掌握该模式的结构; 2、能够利用观察者模式解决实际问题。 [实验任务一]:股票提醒 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 1. 提交源代码 ......
观察者 模式

设计模式的意义

我们可以看到设计模式大多数是把简单的问题给搞复杂了,但是这种复杂恰恰是为了以后设计和扩展的简单。正如没有规划的盖一座房子,很快就盖成了一座房子,可是因为没有考虑到房子的方位、地基、以后的扩展、居住的舒适,改出来的房子最后不能进行扩展并且不符合力学的美感和力感,最终只能重新拆掉重建,所以学习设计模式的 ......
设计模式 意义 模式

命令模式

命令模式,请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 命令模式有三个角色,一个命令,二是命令接收者,三是命令调用者。 命令模式一般有undo(),redo()方法,还可以增加命令日志的记录。 像http请求,数据库 ......
命令 模式

模板方法模式

模板方法模式是指定义一个操作中算法的骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下即可重定义该算法的某些特定步骤。 模板方法主要有两个角色,一个抽象类模板,定义好骨架,第二是实现的子类,实现抽象类模板的抽象方法,和根据需要重写一些方法,其实这也是我们常用的继承,在这里最好 ......
模板 模式 方法

策略模式

策略模式有两个主要角色,一个是主类,一个是策略类,通过主类的构造函数将策略类注入到主类,从而实现调用不同的策略。 典型的例子就是收银策略,正常收费,八折、五折,满200减50等等。 示例代码 package designMode.strategy; public class CashContext ......
策略 模式

Delphi Debug模式下可以但是Release模式下报错原因之一

今天上午才遇到的一个问题,Delphi在debug模式下运行好好的,切换到release模式下竟然无法正确返回? 把工程设置中的 Optimization 中的勾去掉再编译, 这下Release模式下运行没有问题了。 当然这里只记录了这一种情况,大家如果遇到跟我一样问题的时候不妨试试,看能不能解决问 ......
模式 原因 Release Delphi Debug

JVM适应Docker限制:动态调整内存

背景在现代应用开发中,容器化技术(如Docker)已经成为主流。但是,Java应用在容器中运行时面临着挑战:传统的JVM内存设置需要在启动时指定静态的堆内存大小,这种设置方法难以适应动态变化的容器环境。由于容器环境受到cgroup限制,传统的静态内存配置可能导致资源不足或浪费。因此,让JVM能够感知 ......
内存 动态 Docker JVM

知识|基于混合模式的多余度飞控全数字仿真系统研究

*余度(Redundancy):一种确保安全的设计手段,使得出现两个及以上故障时,才会引起既定不希望发生的工作状态。 飞行控制软件主要完成飞行传感器数据处理、飞行姿态控制和余度管理任务,对保证飞机安全性和可靠性起着关键作用,但是现实中与飞行控制软件相关的研发测试过程依旧举步维艰。其主要原因是硬件设备 ......
模式 数字 知识 系统

python 脚本的启动模式(python -m以模块方式启动)

今天再看python的项目时,发现GitHub中给出的python脚本的执行格式是python -m pip install somepackage。于是开始了python模式启动之旅。 其中很多相关借鉴了该博客,同时感谢博主:http://www.cnblogs.com/xueweihan/p/5 ......
python 脚本 模块 模式 方式

Windows 10 LTSC 2021 占用内存过高的解决

1. 注册表导入文件,并运行 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\AppXSvc] "Start"=dword:00000004 [HKEY_LOCAL_MACH ......
内存 Windows LTSC 2021 10

SaaS模式相比传统CRM系统有哪些优势?为什么成为行业主流

在数字化时代,选择适合企业的客户关系管理系统(CRM)至关重要。传统CRM系统曾是企业的重要选择,但随着基于互联网的SaaS模式的兴起,越来越多的企业开始转向SaaS CRM。本文将对比传统CRM系统和SaaS CRM,并解答一些常见问题。 一、传统CRM系统的局限性 传统CRM系统通常需要企业购买 ......
主流 优势 传统 模式 行业

Unity3D UGUI基础--画布的三种模式详解

在Unity3D中,UGUI是一种用户界面系统,它提供了一种简单而强大的方式来创建和管理游戏中的用户界面。UGUI中的一个重要概念是画布(Canvas),它是用来放置和渲染UI元素的容器。画布有三种模式:Screen Space - Overlay、Screen Space - Camera和Wor ......
画布 Unity3D 模式 基础 Unity3

Mysql:非全局share的、connect独立分配的内存(及相关参数)说明

join_buffer_size:sql语句中join连接时候,其中每个表分配的buffer大小。默认256k,最小128byte,最大4G(32位os)。 它最大的问题是:立即分配,而不是按需分配! sort_buffer_size:sql语句中的order by时候,为每个order by分配的 ......
全局 内存 参数 connect Mysql

12.14设计模式复习

创建型模式:将对象的创建和对象的使用分离 1.简单工厂模式 定义:又称为静态工厂模式,(static factory method) 可以根据参数返回不同的实例。 被创建的实例通常都具有共同的父类 包含角色:factory:工厂角色(可被外界直接调用) Product:抽象产品 ConcretePr ......
设计模式 模式 12.14 12 14

写写我认知中的设计模式

创建型我印象最深刻的就是单例模式,我记得他有一个特别经典的案例:任务管理器;而且我对这个模式的印象也比较深刻:将创建方法私有化,意味着不可以再次创建对象,仅对对象的调用。 最近有所感悟的是生成器模式,其实上次软考的学习中我唯一不理解的就是生成器模式,当时听zst2003老师讲,一头雾水,现在再重新接 ......
设计模式 模式

FolkMQ 内存型消息中间件,v1.0.21 发布

简介 采用 “多路复用” + "内存运行" + "快照持久化" + "Broker 集群模式"(可选)+ 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、发布定时消息(Qos0、Qos1)、发布重试 消费端 订阅、取消订阅 消费端 ......
中间件 内存 消息 FolkMQ 0.21

策略模式

定义策略 // 校验方法&规则配置 var strategies = { isNonEmpty: function( value, errorMsg ){ // 不为空 if ( value '' ){ return errorMsg ; } }, minLength: function( valu ......
策略 模式

智慧公交:数字化、智能化、智能化服务的公共交通新模式

随着城市化进程的不断加速,公共交通成为人们日常出行的主要方式之一。为了提高公共交通的效率和服务质量,智慧公交应运而生。智慧公交是一种基于物联网、大数据、人工智能等技术,对公共交通进行数字化、智能化改造的新型公共交通系统。 以此为背景,山海鲸可视化制作了一类智慧公交系统可视化大屏,大屏以城市智慧公交系 ......
智能 智慧 模式 数字 交通

外观模式

外观模式,就有有一个外观类(Facade),其方法里是对多个子系统(或者其他类的对象)的操作的汇总包装,结果是外部不知道Facade具体做了哪些操作,形成比较好的隔离。 主要角色就是一个外观类。 示例代码: package designMode.facade2; public class Fund ......
外观 模式

Python实现软件设计模式2:工厂方法模式

特点 工厂存在父类和子类,产品存在父类和子类。 工厂父类负责定义创建产品对象的公共接口,工厂子类负责生成具体的产品对象。 包含的角色 Product 抽象产品 ConcreteProduct 具体产品 Factory 抽象工厂 ConcreteFactory 具体工厂 模式分析 工厂方法模式是简单工 ......
模式 设计模式 工厂 方法 Python

组合模式

组合模式是树形结构的管理,例如组织结构,文件系统等。 组合模式有三个角色,一个是抽象构件,一个是容器构件,一个是叶子构件,容器构件和叶子构件的区别就是容器构件可以添加删除子容器或者叶子,叶子构件没有此功能。 组合模式分为透明组合模式和安全组合模式,其区别是透明模式会把增加或者删除子节点的方法抽象到抽 ......
模式

SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用

场景 定时任务中需要获取数据库中数据进行数据转换成需要的格式并进行后续的业务处理。 数据库中的数据更新频率不高。 可将数据库中数据在项目启动后读取一遍数据,然后再通过定时任务定时查询数据库更新数据。 实现数据库缓存的方式有多种,比如以下: SpringBoot中通过自定义缓存注解(AOP切面拦截)实 ......
数据 缓存 变量 SpringBoot 内存