内存 模式

中介者模式

目录中介者模式概述结构案例实现优缺点使用场景 中介者模式 概述 一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下左图中,有六个同事类对象,假如对象1发生变化,那么将会有4个对象受到影响 ......
中介者 中介 模式

迭代器模式

目录迭代器模式概述结构案例实现优缺点使用场景JDK源码解析 迭代器模式 概述 定义: 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。 具体聚合( ......
模式

访问者模式

目录访问者模式概述结构案例实现优缺点使用场景扩展 访问者模式 概述 定义: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行 ......
访问者 模式

备忘录模式

目录备忘录模式概述结构案例实现“白箱”备忘录模式“黑箱”备忘录模式优缺点使用场景 备忘录模式 概述 定义: 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作,如 ......
备忘录 模式

行为型模式-模板方法模式

1 什么是模板方法模式 模板方法模式是一种行为设计模式,它定义了一个算法的骨架,将一些步骤的具体实现延迟到子类中。这样可以在不改变算法结构的情况下,允许子类根据自身的需求来实现特定的步骤。 模板方法模式通常由一个抽象基类提供一个模板方法,该方法定义了算法的骨架,并调用一系列的抽象和/或具体方法。子类 ......
模式 模板 行为 方法

简单工厂、工厂方法模式、抽象工厂模式

简单工厂 : 用来生产同一等级结构中的任意产品。(不支持拓展增加产品) 工厂方法 :用来生产同一等级结构中的固定产品。(支持拓展增加产品) 抽象工厂 :用来生产不同产品族的全部产品。(支持拓展增加产品;支持增加产品族) 简单工厂的适用场合:只有伦敦工厂(只有这一个等级),并且这个工厂只生产三种类型的 ......
工厂 模式 方法

建造者模式

计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。 实验要求: 画出对应的类图; 2. 提交源代码; 3. #include<iostream> 4. #include<string> 5. ......
模式

显存架构,虚拟与物理内存

显存架构,虚拟与物理内存 一款显卡的结构见下图,包含了GPU(执行所有计算)、视频输出(连接到屏幕)、显存(存储纹理或通用数据)、电源管理(降低电压,调节电流)、主机交互总线(与CPU的通信)等部件: 如今,所有计算机的结构都是类似的:一个中央处理器和许多外围设备。为了交换数据,这些外围设备通过总线 ......
显存 架构 内存 物理

NUMA内存节点和内存zone

在现代大型服务器中多个内存节点机器一般都采用NUMA架构,而NUMA架构中不同的内存节点在Linux内核中使用pg_data_t类型(实际是struct pglist_data)来表示表示。 Linux又为每个内存节点根据内存地址的高低划分了不同的区域类型如ZONE_DMA、ZONE_DMA32、Z ......
内存 节点 NUMA zone

Linux - 内存间通信

进程间通信 Linux下进程通信的方式有 管道: 管道用于有亲缘关系的进程间通信 有名管道:除了管道特性外还能在独立进程间进行通信 信号: 用于通知进程有某种事件发生 消息队列:用于进程间较多数据的通信,有读写权限的进程可以向队列中添加消息。只有读权限则只能读取队列中消息 共享内存:多个进程访问同一 ......
内存 Linux

设计模式—结构型模式之享元模式

设计模式—结构型模式之享元模式 享元模式(Flyweight Pattern),运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。对象结构型。 在享元模式中可以共享的相同内容称为内部状态(IntrinsicState),而那些 ......
模式 结构型 设计模式 结构

JavaSE面试题02:单例设计模式

通俗解释:单例模式 > 单:唯一 > > 例:实例 > > 单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式 > > 例如:代表JVM运行环境的Runtime类 ......
设计模式 模式 JavaSE

Proj4:改进LiteOS中物理内存分配算法

记录一下,操作系统课上老师讲的proj4做法 给的参考资料 LiteOS中的物理内存分配采用了TLSF算法,该算法较好地解决了最坏情况执行时间不确定(not bounded)或者复杂度过高(bounded with a too important bound"),以及碎片化问题(fragmentat ......
算法 物理 内存 LiteOS Proj4

学习随笔(设计模式:建造者模式)

内容 今天学习了建造者模式。 1.建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2.简单来说就是一个类的所有的特性方法与这个类对象的构建分离 3.本来觉得有点类似于工厂模式,但细想又不太一样。工厂模式是创建一个类,这个类用来创新用户所关注的类对象,类的构建也 ......
模式 设计模式 随笔

设计模式-享元模式

参考:https://blog.csdn.net/shuai_h/article/details/129701459 概述 -运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 优缺点 优点 极大减 ......
模式 设计模式

虚拟机桥接模式(网络渗透测试2)

题目: 1、Kali虚拟机采用桥接模式;物理机连接Guet-WiFi,Kali中查看网络配置并截图,能获得IP地址吗?2、Kali虚拟机采用桥接模式;物理机连接手机热点,Kali中查看网络配置并截图,能获得IP地址吗?3、对于1、2的结果,进行总结分析。 首先我们需要知道桥接模式,桥接模式即将主机网 ......
模式 网络

【无为原创】万字图文详解java的堆内存及OOM的解决方案,看完还不懂,从此绝笔不写了!

目录如下: 什么是JVM的堆 是不是所有的Java对象都放在堆上? 线程和堆的关系 堆的内部结构 面试题 新生代与老年代 如何设置堆的大小? 新生代与老年代的比例 设置Eden、幸存者的比例 常用参数 对象分配 金句: 分配过程 内存分配策略(或对象提升(promotion)规则): 对象分配原则 ......
绝笔 内存 解决方案 图文 方案

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象 7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。 那为什么此服务内存占用 ......
对内 疑问 内存 案例 问题

内存加载.NET程序集&Bypass ETW

内存加载.NET程序集&Bypass ETW 在内存中加载可以使你的文件变得非常隐蔽,不需要落地文件。下面我们一起来学习一下,如何在内存中加载.net程序集,并且绕过ETW的检测。 0x01 Assembly.Load 官方文档如下Assembly.Load 方法 (System.Reflectio ......
内存 程序 Bypass NET ETW

抽象工厂模式

[实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 画出对应的类图; 提交源代码; Black.java package PeopleAndSkinColor; public class Black implements Color{ @Override public Man pro ......
工厂 模式

享元模式

目录享元模式概述结构案例实现优缺点和使用场景JDK源码解析 享元模式 概述 定义: ​ 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 结构 享元(Flyweight )模式中存在以下两种状态: ......
模式

模版方法模式

目录模版方法模式概述结构案例实现优缺点适用场景JDK源码解析 模版方法模式 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经 ......
模版 模式 方法

策略模式

目录策略模式概述结构案例实现优缺点使用场景JDK源码解析 策略模式 概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发,也可以使用eclipse ......
策略 模式

命令模式

目录命令模式概述结构案例实现优缺点使用场景JDK源码解析 命令模式 概述 日常生活中,我们出去吃饭都会遇到下面的场景。 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 命令模式包含 ......
命令 模式

组合模式

目录组合模式概述结构案例实现组合模式的分类优点使用场景 组合模式 概述 ​ 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的 ......
模式

新生代内存需要有两个Survivor区 S0、S1

在我的上一篇博客中,介绍了JVM堆内存的结构以及在堆中进行的GC机制,链接是浅谈JAVA GC机制与性能优化 那么,在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1 为什么要有Survivor区 先不去想为什么有两个Survivor区,第一个问题是,设置Surviv ......
新生代 Survivor 新生 内存 两个

为什么说SaaS模式的CRM系统是更好的选择?

在以前,CRM系统只有本地部署一个选择。但近年来,SaaS模式CRM逐渐火热。SaaS模式CRM系统联网即可访问,不需要用户在自己的服务器上安装和运行,通过订阅的方式即可获得服务。下面说说,选择SaaS模式CRM系统的理由。 1、费用更低 使用SaaS模式CRM系统,只需要支付账号费用,就可以通过浏 ......
模式 系统 SaaS CRM

SpringBoot 策略模式 切换上传文件模式

策略模式 策略模式是指有一定行动内容的相对稳定的策略名称。 我们定义一个接口(就比如接下来要实现的文件上传接口) 我们定义所需要实现的策略实现类 A、B、C、D(也就是项目中所使用的四种策略阿里云Oss上传、腾讯云Cos上传、七牛云Kodo上传、本地上传) 我们通过策略上下文来调用策略接口,并选择所 ......
模式 SpringBoot 策略 文件

学习随笔(设计模式:外观模式)

内容 今天学习了外观模式。 1.外观模式,为子系统中的一组接口提供了一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 2.起始很多现在的软件思路都是遵从于外观模式,它完美的依赖倒转原则和迪米特法则的思想。 3.软件编程采用三层架构,数据访问层、业务逻辑层,并将各个层之间 ......
模式 设计模式 随笔 外观

迭代器模式--Java实现

具体代码 //Student.java package org.example.test016; public class Student { public String getId() { return id; } public void setId(String id) { this.id = ......
模式 Java